Currently on upstream most jobs will run in both staging and master. This is quite wasteful of CI credits. The only need to run in master is for the jobs related to publishing the website
In forks we run jobs on every push. With restricted CI allowance this is quickly going to cause problems. With this series jobs will no longer run on forks at all, without an opt-in with QEMU_CI=1 (pipeline with manual jobs) or QEMU_CI=2 (pipeline with immediate jobs) This is a rewrite of a previous proposal: https://lists.nongnu.org/archive/html/qemu-devel/2021-08/msg02104.html where I've kept it simpler and also split up the patches into more understandable chunks Daniel P. Berrangé (5): gitlab: introduce a common base job template gitlab: convert Cirrus jobs to .base_job_template gitlab: convert static checks to .base_job_template gitlab: convert build/container jobs to .base_job_template gitlab: don't run CI jobs in forks by default .gitlab-ci.d/base.yml | 72 +++++++++++++++++++++++ .gitlab-ci.d/buildtest-template.yml | 16 ++--- .gitlab-ci.d/buildtest.yml | 28 ++++----- .gitlab-ci.d/cirrus.yml | 16 ++--- .gitlab-ci.d/container-cross.yml | 6 +- .gitlab-ci.d/container-template.yml | 1 + .gitlab-ci.d/crossbuild-template.yml | 3 + .gitlab-ci.d/qemu-project.yml | 1 + .gitlab-ci.d/static_checks.yml | 19 +++--- .gitlab-ci.d/windows.yml | 1 + docs/devel/ci-jobs.rst.inc | 88 +++++++++++++++++++++++++++- 11 files changed, 199 insertions(+), 52 deletions(-) create mode 100644 .gitlab-ci.d/base.yml -- 2.36.1