On Wed, Mar 04, 2026 at 03:45:55PM +0100, Thomas Huth wrote:
> 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é <berrange@redhat.com>
> > ---
> > .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?
Sigh, that's a leftover a previous iteration of the patch before I
decided to change the base job template.
With regards,
Daniel
--
|: https://berrange.com ~~ https://hachyderm.io/@berrange :|
|: https://libvirt.org ~~ https://entangle-photo.org :|
|: https://pixelfed.art/berrange ~~ https://fstop138.berrange.com :|