[PATCH i-g-t v1 1/2] gitlab-ci: Enable gitlab-ci-local runs from the primary CI definition file

Kamil Konieczny kamil.konieczny at linux.intel.com
Wed Apr 30 16:33:53 UTC 2025


From: Ryszard Knop <dragoon at dragonic.eu>

The gitlab-ci-local tool sets GITLAB_CI to "false", so we can pick which
jobs are to be executed locally without defining them again. We just
have to override the image to make it all work.

Signed-off-by: Ryszard Knop <dragoon at dragonic.eu>
Signed-off-by: Kamil Konieczny <kamil.konieczny at linux.intel.com>
---
 .gitlab-ci-local.yml |  2 ++
 .gitlab-ci.yml       | 30 ++++++++++++++++++++++++++++++
 2 files changed, 32 insertions(+)
 create mode 100644 .gitlab-ci-local.yml

diff --git a/.gitlab-ci-local.yml b/.gitlab-ci-local.yml
new file mode 100644
index 000000000..65ccc1eec
--- /dev/null
+++ b/.gitlab-ci-local.yml
@@ -0,0 +1,2 @@
+include: .gitlab-ci.yml
+image: build-igt-fedora
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index a6c076dba..ec7ce7bae 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -25,6 +25,8 @@ stages:
 build-containers:build-debian:
   stage: build-containers
   image: registry.freedesktop.org/wayland/ci-templates/buildah:2019-08-13.0
+  rules:
+    - if: $GITLAB_CI == "true"  # Skip for gitlab-ci-local runs
   script:
     - podman login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY
     - .gitlab-ci/pull-or-rebuild.sh base Dockerfile.build-debian-minimal build-debian-minimal
@@ -33,6 +35,8 @@ build-containers:build-debian:
 build-containers:build-debian-armhf:
   stage: build-containers
   image: registry.freedesktop.org/wayland/ci-templates/buildah:2019-08-13.0
+  rules:
+    - if: $GITLAB_CI == "true"  # Skip for gitlab-ci-local runs
   script:
     - podman login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY
     - .gitlab-ci/pull-or-rebuild.sh base Dockerfile.build-debian-armhf build-debian-armhf
@@ -40,6 +44,8 @@ build-containers:build-debian-armhf:
 build-containers:build-debian-arm64:
   stage: build-containers
   image: registry.freedesktop.org/wayland/ci-templates/buildah:2019-08-13.0
+  rules:
+    - if: $GITLAB_CI == "true"  # Skip for gitlab-ci-local runs
   script:
     - podman login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY
     - .gitlab-ci/pull-or-rebuild.sh base Dockerfile.build-debian-arm64 build-debian-arm64
@@ -47,6 +53,8 @@ build-containers:build-debian-arm64:
 build-containers:build-debian-mips:
   stage: build-containers
   image: registry.freedesktop.org/wayland/ci-templates/buildah:2019-08-13.0
+  rules:
+    - if: $GITLAB_CI == "true"  # Skip for gitlab-ci-local runs
   script:
     - podman login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY
     - .gitlab-ci/pull-or-rebuild.sh base Dockerfile.build-debian-mips build-debian-mips
@@ -54,6 +62,8 @@ build-containers:build-debian-mips:
 build-containers:build-fedora:
   stage: build-containers
   image: registry.freedesktop.org/wayland/ci-templates/buildah:2019-08-13.0
+  rules:
+    - if: $GITLAB_CI == "true"  # Skip for gitlab-ci-local runs
   script:
     - podman login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY
     - .gitlab-ci/pull-or-rebuild.sh base Dockerfile.build-fedora build-fedora
@@ -74,6 +84,8 @@ build:tests-fedora:
 
 build:tests-fedora-no-libunwind:
   stage: build
+  rules:
+    - if: $GITLAB_CI == "true"  # Skip for gitlab-ci-local runs
   script:
     - dnf remove -y libunwind-devel
     - meson -Dlibunwind=disabled build
@@ -82,6 +94,8 @@ build:tests-fedora-no-libunwind:
 # documentation building is different with meson<0.47
 build:tests-fedora-oldest-meson:
   stage: build
+  rules:
+    - if: $GITLAB_CI == "true"  # Skip for gitlab-ci-local runs
   script:
     - dnf remove -y meson
     - pip install /usr/src/meson-*.tar.gz
@@ -92,6 +106,8 @@ build:tests-fedora-oldest-meson:
 # ensure igt_nouveau stubs build when nouveau support for libdrm is disabled
 build:tests-fedora-no-libdrm-nouveau:
   stage: build
+  rules:
+    - if: $GITLAB_CI == "true"  # Skip for gitlab-ci-local runs
   script:
     - meson -Dlibdrm_drivers= build
     - ninja -C build -j${FDO_CI_CONCURRENT:-4} || ninja -C build -j 1
@@ -110,6 +126,8 @@ build:tests-fedora-clang:
 build:tests-debian-meson:
   image: $CI_REGISTRY/$CI_PROJECT_PATH/build-debian:commit-$CI_COMMIT_SHA
   stage: build
+  rules:
+    - if: $GITLAB_CI == "true"  # Skip for gitlab-ci-local runs
   script:
     - meson $MESON_OPTIONS build
     - ninja -C build -j${FDO_CI_CONCURRENT:-4} || ninja -C build -j 1
@@ -121,6 +139,8 @@ build:tests-debian-meson:
 build:tests-debian-minimal:
   image: $CI_REGISTRY/$CI_PROJECT_PATH/build-debian-minimal:commit-$CI_COMMIT_SHA
   stage: build
+  rules:
+    - if: $GITLAB_CI == "true"  # Skip for gitlab-ci-local runs
   script:
     - meson -Dtests=disabled -Dlibdrm_drivers="" build
     - ninja -C build -j${FDO_CI_CONCURRENT:-4} || ninja -C build -j 1
@@ -131,6 +151,8 @@ build:tests-debian-minimal:
 build:tests-debian-meson-armhf:
   image: $CI_REGISTRY/$CI_PROJECT_PATH/build-debian-armhf:commit-$CI_COMMIT_SHA
   stage: build
+  rules:
+    - if: $GITLAB_CI == "true"  # Skip for gitlab-ci-local runs
   script:
     - export PKG_CONFIG_PATH=/usr/lib/arm-linux-gnueabihf/pkgconfig/
     - meson --cross-file meson-cross-armhf.txt build
@@ -142,6 +164,8 @@ build:tests-debian-meson-armhf:
 build:tests-debian-meson-arm64:
   image: $CI_REGISTRY/$CI_PROJECT_PATH/build-debian-arm64:commit-$CI_COMMIT_SHA
   stage: build
+  rules:
+    - if: $GITLAB_CI == "true"  # Skip for gitlab-ci-local runs
   script:
     - export PKG_CONFIG_PATH=/usr/lib/aarch64-linux-gnu/pkgconfig/
     - meson --cross-file meson-cross-arm64.txt build
@@ -153,6 +177,8 @@ build:tests-debian-meson-arm64:
 build:tests-debian-meson-mips:
   image: $CI_REGISTRY/$CI_PROJECT_PATH/build-debian-mips:commit-$CI_COMMIT_SHA
   stage: build
+  rules:
+    - if: $GITLAB_CI == "true"  # Skip for gitlab-ci-local runs
   script:
     - export PKG_CONFIG_PATH=/usr/lib/mips-linux-gnu/pkgconfig/
     - meson --cross-file meson-cross-mips.txt build
@@ -180,6 +206,8 @@ test:ninja-test-clang:
   script: meson test -C build --num-processes ${FDO_CI_CONCURRENT:-4}
 
 test:ninja-test-minimal:
+  rules:
+    - if: $GITLAB_CI == "true"  # Skip for gitlab-ci-local runs
   retry: 2
   image: $CI_REGISTRY/$CI_PROJECT_PATH/build-debian-minimal:commit-$CI_COMMIT_SHA
   dependencies:
@@ -268,6 +296,8 @@ pages:
 ############## CONTAINERS ####################
 
 containers:igt:
+  rules:
+    - if: $GITLAB_CI == "true"  # Skip for gitlab-ci-local runs
   stage: containers
   image: registry.freedesktop.org/wayland/ci-templates/buildah:2019-08-13.0
   dependencies:
-- 
2.49.0



More information about the igt-dev mailing list