aboutsummaryrefslogtreecommitdiff
path: root/.gitlab-ci.d/base.yml
diff options
context:
space:
mode:
authorDaniel P. Berrangé <berrange@redhat.com>2022-05-27 16:36:02 +0100
committerAlex Bennée <alex.bennee@linaro.org>2022-06-01 18:54:59 +0100
commit28357dc525b4798cdef1101cbb459afcd7233280 (patch)
tree434e96d6e15290eba3cd76e69da3be471fef452a /.gitlab-ci.d/base.yml
parente312d1fdbbb3a53ee30ab84203344588154129f9 (diff)
gitlab: don't run CI jobs in forks by default
To preserve CI shared runner credits we don't want to run pipelines on every push. This sets up the config so that pipelines are never created for contributors by default. To override this the QEMU_CI variable can be set to a non-zero value. If set to 1, the pipeline will be created but all jobs will remain manually started. The contributor can selectively run jobs that they care about. If set to 2, the pipeline will be created and all jobs will immediately start. This behavior can be controlled using push variables git push -o ci.variable=QEMU_CI=1 To make this more convenient define an alias git config --local alias.push-ci "push -o ci.variable=QEMU_CI=1" git config --local alias.push-ci-now "push -o ci.variable=QEMU_CI=2" Which lets you run git push-ci to create the pipeline, or git push-ci-now to create and run the pipeline Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> Message-Id: <20220526110705.59952-6-berrange@redhat.com> [AJB: fix typo, replicate alias tips in ci.rst] Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Thomas Huth <thuth@redhat.com> Message-Id: <20220527153603.887929-33-alex.bennee@linaro.org>
Diffstat (limited to '.gitlab-ci.d/base.yml')
-rw-r--r--.gitlab-ci.d/base.yml9
1 files changed, 9 insertions, 0 deletions
diff --git a/.gitlab-ci.d/base.yml b/.gitlab-ci.d/base.yml
index 4f091d5aad..f334f3ded7 100644
--- a/.gitlab-ci.d/base.yml
+++ b/.gitlab-ci.d/base.yml
@@ -28,6 +28,10 @@
- if: '$QEMU_JOB_ONLY_FORKS == "1" && $CI_PROJECT_NAMESPACE == "qemu-project"'
when: never
+ # Forks don't get pipelines unless QEMU_CI=1 or QEMU_CI=2 is set
+ - if: '$QEMU_CI != "1" && $QEMU_CI != "2" && $CI_PROJECT_NAMESPACE != "qemu-project"'
+ when: never
+
# Avocado jobs don't run in forks unless $QEMU_CI_AVOCADO_TESTING is set
- if: '$QEMU_JOB_AVOCADO && $QEMU_CI_AVOCADO_TESTING != "1" && $CI_PROJECT_NAMESPACE != "qemu-project"'
when: never
@@ -59,5 +63,10 @@
# an earlier criteria
#############################################################
+ # Forks pipeline jobs don't start automatically unless
+ # QEMU_CI=2 is set
+ - if: '$QEMU_CI != "2" && $CI_PROJECT_NAMESPACE != "qemu-project"'
+ when: manual
+
# Jobs can run if any jobs they depend on were successfull
- when: on_success