CI: introduce BUILD_FOR_TESTS_ONLY

When the variable is set, only build jobs that are used in tests are
scheduled. This saves a lot of time, for example when scheduling a test
pipeline with alternative linux branch.

Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
Reviewed-by: Anthony PERARD <anthony.perard@vates.tech>
This commit is contained in:
Marek Marczykowski-Górecki authored and Anthony PERARD committed 2026-04-23 17:39:55 +02:00
1 parent 48b6cd64dc
commit a183f7fbe7
2 files changed
+26

No files matched your search

+2
View File
@@ -3,6 +3,8 @@ variables:
SELECTED_JOBS_ONLY: SELECTED_JOBS_ONLY:
description: "Regex to select only some jobs, must be enclosed with /. For example /job1|job2/" description: "Regex to select only some jobs, must be enclosed with /. For example /job1|job2/"
value: "/.*/" value: "/.*/"
BUILD_FOR_TESTS_ONLY:
description: "Include only build jobs necessary for running tests"
ARTIFACTS_REPO: ARTIFACTS_REPO:
description: "Path to the test-artifacts repo" description: "Path to the test-artifacts repo"
value: xen-project/hardware/test-artifacts value: xen-project/hardware/test-artifacts
+24
View File
@@ -12,6 +12,14 @@
- '*/*.log' - '*/*.log'
when: always when: always
needs: [] needs: []
rules:
- if: $BUILD_FOR_TESTS_ONLY
when: never
- if: $CI_JOB_NAME =~ $SELECTED_JOBS_ONLY
when: on_success
# override BUILD_FOR_TESTS_ONLY exclusion
.build-test-tpl: &build-test
rules: rules:
- if: $CI_JOB_NAME =~ $SELECTED_JOBS_ONLY - if: $CI_JOB_NAME =~ $SELECTED_JOBS_ONLY
when: on_success when: on_success
@@ -296,11 +304,13 @@ qemu-system-aarch64-6.0.0-arm32-export:
alpine-3.18-gcc: alpine-3.18-gcc:
extends: .gcc-x86-64-build extends: .gcc-x86-64-build
<<: *build-test
variables: variables:
CONTAINER: alpine:3.18 CONTAINER: alpine:3.18
alpine-3.18-gcc-debug: alpine-3.18-gcc-debug:
extends: .gcc-x86-64-build-debug extends: .gcc-x86-64-build-debug
<<: *build-test
variables: variables:
CONTAINER: alpine:3.18 CONTAINER: alpine:3.18
BUILD_QEMU_XEN: y BUILD_QEMU_XEN: y
@@ -315,16 +325,19 @@ alpine-3.18-gcc-debug:
debian-13-x86_64-gcc-debug: debian-13-x86_64-gcc-debug:
extends: .gcc-x86-64-build-debug extends: .gcc-x86-64-build-debug
<<: *build-test
variables: variables:
CONTAINER: debian:13-x86_64 CONTAINER: debian:13-x86_64
debian-13-x86_64-clang-debug: debian-13-x86_64-clang-debug:
extends: .clang-x86-64-build-debug extends: .clang-x86-64-build-debug
<<: *build-test
variables: variables:
CONTAINER: debian:13-x86_64 CONTAINER: debian:13-x86_64
debian-13-ppc64le-gcc-debug: debian-13-ppc64le-gcc-debug:
extends: .gcc-ppc64le-cross-build-debug extends: .gcc-ppc64le-cross-build-debug
<<: *build-test
variables: variables:
CONTAINER: debian:13-ppc64le CONTAINER: debian:13-ppc64le
KBUILD_DEFCONFIG: ppc64_defconfig KBUILD_DEFCONFIG: ppc64_defconfig
@@ -335,6 +348,7 @@ debian-13-ppc64le-gcc-debug:
debian-13-riscv64-gcc-debug: debian-13-riscv64-gcc-debug:
extends: .gcc-riscv64-cross-build-debug extends: .gcc-riscv64-cross-build-debug
<<: *build-test
variables: variables:
CONTAINER: debian:13-riscv64 CONTAINER: debian:13-riscv64
KBUILD_DEFCONFIG: tiny64_defconfig KBUILD_DEFCONFIG: tiny64_defconfig
@@ -347,12 +361,14 @@ debian-13-riscv64-gcc-debug:
debian-bookworm-gcc-arm32: debian-bookworm-gcc-arm32:
extends: .gcc-arm32-cross-build extends: .gcc-arm32-cross-build
<<: *build-test
variables: variables:
CONTAINER: debian:bookworm-arm64v8-arm32-gcc CONTAINER: debian:bookworm-arm64v8-arm32-gcc
HYPERVISOR_ONLY: y HYPERVISOR_ONLY: y
debian-bookworm-gcc-arm32-debug: debian-bookworm-gcc-arm32-debug:
extends: .gcc-arm32-cross-build-debug extends: .gcc-arm32-cross-build-debug
<<: *build-test
variables: variables:
CONTAINER: debian:bookworm-arm64v8-arm32-gcc CONTAINER: debian:bookworm-arm64v8-arm32-gcc
HYPERVISOR_ONLY: y HYPERVISOR_ONLY: y
@@ -366,6 +382,7 @@ debian-bookworm-gcc-arm32-randconfig:
debian-bookworm-gcc-arm32-debug-staticmem: debian-bookworm-gcc-arm32-debug-staticmem:
extends: .gcc-arm32-cross-build-debug extends: .gcc-arm32-cross-build-debug
<<: *build-test
variables: variables:
CONTAINER: debian:bookworm-arm64v8-arm32-gcc CONTAINER: debian:bookworm-arm64v8-arm32-gcc
HYPERVISOR_ONLY: y HYPERVISOR_ONLY: y
@@ -376,6 +393,7 @@ debian-bookworm-gcc-arm32-debug-staticmem:
debian-bookworm-gcc-arm32-debug-earlyprintk: debian-bookworm-gcc-arm32-debug-earlyprintk:
extends: .gcc-arm32-cross-build-debug extends: .gcc-arm32-cross-build-debug
<<: *build-test
variables: variables:
CONTAINER: debian:bookworm-arm64v8-arm32-gcc CONTAINER: debian:bookworm-arm64v8-arm32-gcc
HYPERVISOR_ONLY: y HYPERVISOR_ONLY: y
@@ -407,11 +425,13 @@ debian-bookworm-gcc-debug-arm64:
alpine-3.18-gcc-arm64: alpine-3.18-gcc-arm64:
extends: .gcc-arm64-build extends: .gcc-arm64-build
<<: *build-test
variables: variables:
CONTAINER: alpine:3.18-arm64v8 CONTAINER: alpine:3.18-arm64v8
alpine-3.18-gcc-debug-arm64: alpine-3.18-gcc-debug-arm64:
extends: .gcc-arm64-build-debug extends: .gcc-arm64-build-debug
<<: *build-test
variables: variables:
CONTAINER: alpine:3.18-arm64v8 CONTAINER: alpine:3.18-arm64v8
EXTRA_XEN_CONFIG: | EXTRA_XEN_CONFIG: |
@@ -426,6 +446,7 @@ alpine-3.18-gcc-arm64-randconfig:
alpine-3.18-gcc-debug-arm64-staticmem: alpine-3.18-gcc-debug-arm64-staticmem:
extends: .gcc-arm64-build-debug extends: .gcc-arm64-build-debug
<<: *build-test
variables: variables:
CONTAINER: alpine:3.18-arm64v8 CONTAINER: alpine:3.18-arm64v8
EXTRA_XEN_CONFIG: | EXTRA_XEN_CONFIG: |
@@ -435,6 +456,7 @@ alpine-3.18-gcc-debug-arm64-staticmem:
alpine-3.18-gcc-debug-arm64-static-shared-mem: alpine-3.18-gcc-debug-arm64-static-shared-mem:
extends: .gcc-arm64-build-debug extends: .gcc-arm64-build-debug
<<: *build-test
variables: variables:
CONTAINER: alpine:3.18-arm64v8 CONTAINER: alpine:3.18-arm64v8
EXTRA_XEN_CONFIG: | EXTRA_XEN_CONFIG: |
@@ -444,6 +466,7 @@ alpine-3.18-gcc-debug-arm64-static-shared-mem:
alpine-3.18-gcc-debug-arm64-boot-cpupools: alpine-3.18-gcc-debug-arm64-boot-cpupools:
extends: .gcc-arm64-build-debug extends: .gcc-arm64-build-debug
<<: *build-test
variables: variables:
CONTAINER: alpine:3.18-arm64v8 CONTAINER: alpine:3.18-arm64v8
EXTRA_XEN_CONFIG: | EXTRA_XEN_CONFIG: |
@@ -451,6 +474,7 @@ alpine-3.18-gcc-debug-arm64-boot-cpupools:
alpine-3.18-gcc-debug-arm64-earlyprintk: alpine-3.18-gcc-debug-arm64-earlyprintk:
extends: .gcc-arm64-build-debug extends: .gcc-arm64-build-debug
<<: *build-test
variables: variables:
CONTAINER: alpine:3.18-arm64v8 CONTAINER: alpine:3.18-arm64v8
EXTRA_XEN_CONFIG: | EXTRA_XEN_CONFIG: |
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.