Message ID | 20230517135448.262483-6-berrange@redhat.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | gitlab: improvements to handling of stable staging branches | expand |
17.05.2023 16:54, Daniel P. Berrangé wrote: > In forks QEMU_CI=1 can be used to create a pipeline but not auto-run any > jobs. In upstream jobs always auto-run, which is equiv of QEMU_CI=2. > > This supports setting QEMU_CI=1 in upstream, to disable job auto-run. > This can be used to preserve CI minutes if repushing a branch to staging > with a specific fix that only needs testing in limited scenarios. > > Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> > --- > .gitlab-ci.d/base.yml | 10 ++++++++++ > 1 file changed, 10 insertions(+) > > diff --git a/.gitlab-ci.d/base.yml b/.gitlab-ci.d/base.yml > index 999149852e..188a770799 100644 > --- a/.gitlab-ci.d/base.yml > +++ b/.gitlab-ci.d/base.yml > @@ -109,6 +109,16 @@ variables: > - if: '$QEMU_CI != "2" && $CI_PROJECT_NAMESPACE != $QEMU_CI_UPSTREAM' > when: manual > > + # Upstream pipeline jobs start automatically unless told not to > + # by setting QEMU_CI=1 > + - if: '$QEMU_CI == "1" && $CI_PROJECT_NAMESPACE == $QEMU_CI_UPSTREAM && $CI_COMMIT_BRANCH =~ /staging-[[:digit:]]+\.[[:digit:]]/' Should this be enabled for main staging branch too? I dunno how it is useful though. /mjt
On Wed, May 17, 2023 at 06:13:44PM +0300, Michael Tokarev wrote: > 17.05.2023 16:54, Daniel P. Berrangé wrote: > > In forks QEMU_CI=1 can be used to create a pipeline but not auto-run any > > jobs. In upstream jobs always auto-run, which is equiv of QEMU_CI=2. > > > > This supports setting QEMU_CI=1 in upstream, to disable job auto-run. > > This can be used to preserve CI minutes if repushing a branch to staging > > with a specific fix that only needs testing in limited scenarios. > > > > Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> > > --- > > .gitlab-ci.d/base.yml | 10 ++++++++++ > > 1 file changed, 10 insertions(+) > > > > diff --git a/.gitlab-ci.d/base.yml b/.gitlab-ci.d/base.yml > > index 999149852e..188a770799 100644 > > --- a/.gitlab-ci.d/base.yml > > +++ b/.gitlab-ci.d/base.yml > > @@ -109,6 +109,16 @@ variables: > > - if: '$QEMU_CI != "2" && $CI_PROJECT_NAMESPACE != $QEMU_CI_UPSTREAM' > > when: manual > > + # Upstream pipeline jobs start automatically unless told not to > > + # by setting QEMU_CI=1 > > + - if: '$QEMU_CI == "1" && $CI_PROJECT_NAMESPACE == $QEMU_CI_UPSTREAM && $CI_COMMIT_BRANCH =~ /staging-[[:digit:]]+\.[[:digit:]]/' > > Should this be enabled for main staging branch too? > I dunno how it is useful though. Yes, actually it should have been. There's no downside to enabling it for 'staging' too, since it is opt-in. With regards, Daniel
diff --git a/.gitlab-ci.d/base.yml b/.gitlab-ci.d/base.yml index 999149852e..188a770799 100644 --- a/.gitlab-ci.d/base.yml +++ b/.gitlab-ci.d/base.yml @@ -109,6 +109,16 @@ variables: - if: '$QEMU_CI != "2" && $CI_PROJECT_NAMESPACE != $QEMU_CI_UPSTREAM' when: manual + # Upstream pipeline jobs start automatically unless told not to + # by setting QEMU_CI=1 + - if: '$QEMU_CI == "1" && $CI_PROJECT_NAMESPACE == $QEMU_CI_UPSTREAM && $CI_COMMIT_BRANCH =~ /staging-[[:digit:]]+\.[[:digit:]]/' + when: manual + variables: + QEMU_CI_CONTAINER_TAG: $CI_COMMIT_REF_SLUG + + - if: '$QEMU_CI == "1" && $CI_PROJECT_NAMESPACE == $QEMU_CI_UPSTREAM' + when: manual + # Jobs can run if any jobs they depend on were successful - if: '$QEMU_JOB_SKIPPED && $CI_PROJECT_NAMESPACE == $QEMU_CI_UPSTREAM && $CI_COMMIT_BRANCH =~ /staging-[[:digit:]]+\.[[:digit:]]/' when: on_success
In forks QEMU_CI=1 can be used to create a pipeline but not auto-run any jobs. In upstream jobs always auto-run, which is equiv of QEMU_CI=2. This supports setting QEMU_CI=1 in upstream, to disable job auto-run. This can be used to preserve CI minutes if repushing a branch to staging with a specific fix that only needs testing in limited scenarios. Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> --- .gitlab-ci.d/base.yml | 10 ++++++++++ 1 file changed, 10 insertions(+)