On Tue, Nov 11, 2025 at 05:17:20PM +0000, Alex Bennée wrote: > Most of the test is pure boilerplate so to save ourselves from > repetition move all the main bits into a minimal copy of > native_build_job_template but without the caching. > > We keep all the current allow_fail and configure setups but do take > the opportunity to replace the inline nproc calls to using a common > JOBS variable. > > Signed-off-by: Alex Bennée <[email protected]> > --- > .../custom-runners/ubuntu-24.04-s390x.yml | 181 +++++++----------- > 1 file changed, 66 insertions(+), 115 deletions(-) > > diff --git a/.gitlab-ci.d/custom-runners/ubuntu-24.04-s390x.yml > b/.gitlab-ci.d/custom-runners/ubuntu-24.04-s390x.yml > index 45dbee17880..ef8db2750ac 100644 > --- a/.gitlab-ci.d/custom-runners/ubuntu-24.04-s390x.yml > +++ b/.gitlab-ci.d/custom-runners/ubuntu-24.04-s390x.yml > @@ -2,129 +2,80 @@ > # setup by the scripts/ci/setup/ubuntu/build-environment.yml task > # "Install basic packages to build QEMU on Ubuntu 24.04" > > +.ubuntu_s390x_template: > + extends: .custom_runner_template > + needs: [] > + stage: build > + tags: > + - ubuntu_24.04 > + - s390x > + rules: > + - if: '$CI_PROJECT_NAMESPACE == "qemu-project" && $CI_COMMIT_BRANCH =~ > /^staging/' > + - if: "$S390X_RUNNER_AVAILABLE"
These rules mean the jobs always run if those three envs are satisified, however.... > ubuntu-24.04-s390x-alldbg: > - extends: .custom_runner_template > - needs: [] > - stage: build > - tags: > - - ubuntu_24.04 > - - s390x > - rules: > - - if: '$CI_PROJECT_NAMESPACE == "qemu-project" && $CI_COMMIT_BRANCH =~ > /^staging/' > - when: manual > - allow_failure: true > - - if: "$S390X_RUNNER_AVAILABLE" > - when: manual > - allow_failure: true ...this job... > ubuntu-24.04-s390x-clang: > - extends: .custom_runner_template > - needs: [] > - stage: build > - tags: > - - ubuntu_24.04 > - - s390x > - rules: > - - if: '$CI_PROJECT_NAMESPACE == "qemu-project" && $CI_COMMIT_BRANCH =~ > /^staging/' > - when: manual > - allow_failure: true > - - if: "$S390X_RUNNER_AVAILABLE" > - when: manual > - allow_failure: true ...this job.. > ubuntu-24.04-s390x-tci: > - needs: [] > - stage: build > - tags: > - - ubuntu_24.04 > - - s390x > - rules: > - - if: '$CI_PROJECT_NAMESPACE == "qemu-project" && $CI_COMMIT_BRANCH =~ > /^staging/' > - when: manual > - allow_failure: true > - - if: "$S390X_RUNNER_AVAILABLE" > - when: manual > - allow_failure: true ...this job... > ubuntu-24.04-s390x-notcg: > - extends: .custom_runner_template > - needs: [] > - stage: build > - tags: > - - ubuntu_24.04 > - - s390x > - rules: > - - if: '$CI_PROJECT_NAMESPACE == "qemu-project" && $CI_COMMIT_BRANCH =~ > /^staging/' > - when: manual > - allow_failure: true > - - if: "$S390X_RUNNER_AVAILABLE" > - when: manual > - allow_failure: true ...and this job, would never get run by default even if the env vars were satisfied. It would require someone to hit the 'run' button in the CI web pages. Now with this commit, these 4 manual jobs are run unconditionally every time. IOW, pipelines now trigger 6 s390x jobs instead of 2 jobs, and 4 opt-in jobs. If that is intentional, IMHO, there should have been a prior commit that removed the 'when: manual' stanza from all these jobs, so that this commit was pure re-factoring with no functional change in job behaviour. With regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|
