On 04/03/2026 15.21, Daniel P. Berrangé wrote:
The build-without-defaults and build-tci jobs do not capture any
artifacts, despite running 'make check'. This has proved a repeated
bug with CI jobs, so introduce a new '.meson_job_template' rule
which always captures 'build/meson-logs'. Jobs can still provide
their own 'artifacts:' config which will override this default
behaviour.
Signed-off-by: Daniel P. Berrangé <[email protected]>
---
.gitlab-ci.d/buildtest-template.yml | 30 ++++++++++++++++++-----------
.gitlab-ci.d/buildtest.yml | 4 +++-
2 files changed, 22 insertions(+), 12 deletions(-)
diff --git a/.gitlab-ci.d/buildtest-template.yml
b/.gitlab-ci.d/buildtest-template.yml
index d866cb12bb..005058625e 100644
--- a/.gitlab-ci.d/buildtest-template.yml
+++ b/.gitlab-ci.d/buildtest-template.yml
@@ -1,5 +1,20 @@
-.native_build_job_template:
+
+# Any job running meson should capture meson logs
+# by default. Some jobs might override the artifacts
+# to capture further files
+.meson_job_template:
extends: .base_job_template
+ artifacts:
+ name: "$CI_JOB_NAME-$CI_COMMIT_REF_SLUG"
+ when: always
+ expire_in: 7 days
+ paths:
+ - build/meson-logs
+ reports:
+ junit: build/meson-logs/*.junit.xml
+
+.native_build_job_template:
+ extends: .meson_job_template
stage: build
image: $CI_REGISTRY_IMAGE/qemu/$IMAGE:$QEMU_CI_CONTAINER_TAG
cache:
@@ -60,7 +75,7 @@
- build/**/*.c.o.d
.common_test_job_template:
- extends: .base_job_template
+ extends: .meson_job_template
stage: test
image: $CI_REGISTRY_IMAGE/qemu/$IMAGE:$QEMU_CI_CONTAINER_TAG
script:
@@ -87,14 +102,7 @@
# Prevent logs from the build job that run earlier
# from being duplicated in the test job artifacts
- rm -f build/meson-logs/*
- artifacts:
- name: "$CI_JOB_NAME-$CI_COMMIT_REF_SLUG"
- when: always
- expire_in: 7 days
- paths:
- - build/meson-logs
- reports:
- junit: build/meson-logs/*.junit.xml
+
.functional_test_job_template:
extends: .common_test_job_template
@@ -125,7 +133,7 @@
QEMU_JOB_FUNCTIONAL: 1
.wasm_build_job_template:
- extends: .base_job_template
+ extends: .meson_job_template
stage: build
image: $CI_REGISTRY_IMAGE/qemu/$IMAGE:$QEMU_CI_CONTAINER_TAG
before_script:
diff --git a/.gitlab-ci.d/buildtest.yml b/.gitlab-ci.d/buildtest.yml
index 6ad3594522..4b20429c7f 100644
--- a/.gitlab-ci.d/buildtest.yml
+++ b/.gitlab-ci.d/buildtest.yml
@@ -652,7 +652,9 @@ build-tci:
# Check our reduced build configurations
build-without-defaults:
- extends: .native_build_job_template
+ extends:
+ - .native_build_job_template
+ - .native_build_artifact_template
Why do we need native_build_artifact_template here?
Thomas