All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Daniel P. Berrangé" <berrange@redhat.com>
To: "Philippe Mathieu-Daudé" <f4bug@amsat.org>
Cc: "Alex Bennée" <alex.bennee@linaro.org>,
	peter.maydell@linaro.org, richard.henderson@linaro.org,
	qemu-stable@nongnu.org, qemu-devel@nongnu.org,
	"Thomas Huth" <thuth@redhat.com>,
	"Wainer dos Santos Moschetta" <wainersm@redhat.com>,
	"Beraldo Leal" <bleal@redhat.com>
Subject: Re: [PULL 32/33] gitlab: don't run CI jobs in forks by default
Date: Mon, 6 Jun 2022 12:01:31 +0100	[thread overview]
Message-ID: <Yp3ei+C3khj/2Wo+@redhat.com> (raw)
In-Reply-To: <279dc7dd-9423-ce0e-788f-6cebce8878b1@amsat.org>

On Thu, Jun 02, 2022 at 12:50:21PM +0200, Philippe Mathieu-Daudé wrote:
> Cc'ing qemu-stable@

If you want this in stable, you'll need the 5 preceeding patches
too. I wouldn't be surprised if there are conflicts too. So it
might well need a custom set of patches spinning just for stable.

> 
> Thank you Daniel / Thomas / Alex!
> 
> On 1/6/22 20:05, Alex Bennée wrote:
> > From: Daniel P. Berrangé <berrange@redhat.com>
> > 
> > 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>
> > 
> > diff --git a/docs/devel/ci-jobs.rst.inc b/docs/devel/ci-jobs.rst.inc
> > index 0b4926e537..9118a61a17 100644
> > --- a/docs/devel/ci-jobs.rst.inc
> > +++ b/docs/devel/ci-jobs.rst.inc
> > @@ -28,6 +28,32 @@ For further information about how to set these variables, please refer to::
> >     https://docs.gitlab.com/ee/user/project/push_options.html#push-options-for-gitlab-cicd
> > +Setting aliases in your git config
> > +----------------------------------
> > +
> > +You can use aliases to make it easier to push branches with different
> > +CI configurations. For example define an alias for triggering CI:
> > +
> > +.. code::
> > +
> > +   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:
> > +
> > +.. code::
> > +
> > +   git push-ci
> > +
> > +to create the pipeline, or:
> > +
> > +.. code::
> > +
> > +   git push-ci-now
> > +
> > +to create and run the pipeline
> > +
> > +
> >   Variable naming and grouping
> >   ----------------------------
> > @@ -98,6 +124,18 @@ Contributor controlled runtime variables
> >   The following variables may be set by contributors to control
> >   job execution
> > +QEMU_CI
> > +~~~~~~~
> > +
> > +By default, no pipelines will be created on contributor forks
> > +in order to preserve CI credits
> > +
> > +Set this variable to 1 to create the pipelines, but leave all
> > +the jobs to be manually started from the UI
> > +
> > +Set this variable to 2 to create the pipelines and run all
> > +the jobs immediately, as was historicaly behaviour
> > +
> >   QEMU_CI_AVOCADO_TESTING
> >   ~~~~~~~~~~~~~~~~~~~~~~~
> >   By default, tests using the Avocado framework are not run automatically in
> > 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
> 

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 :|



  reply	other threads:[~2022-06-06 11:05 UTC|newest]

Thread overview: 45+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-06-01 18:05 [PULL 00/33] testing updates (gitlab, junit, lcitool, x-compile) Alex Bennée
2022-06-01 18:05 ` [PULL 01/33] .gitlab-ci.d/container-cross: Fix RISC-V container dependencies / stages Alex Bennée
2022-06-01 18:05 ` [PULL 02/33] .gitlab-ci.d/crossbuilds: Fix the dependency of the cross-i386-tci job Alex Bennée
2022-06-01 18:05 ` [PULL 03/33] gitlab-ci: add meson JUnit test result into report Alex Bennée
2022-06-01 18:05 ` [PULL 04/33] meson.build: fix summary display of test compilers Alex Bennée
2022-06-01 18:05 ` [PULL 05/33] tests/lcitool: fix up indentation to correct style Alex Bennée
2022-06-01 18:05 ` [PULL 06/33] tests/docker: update debian-armhf-cross with lcitool Alex Bennée
2022-06-01 18:05 ` [PULL 07/33] tests/docker: update debian-armel-cross " Alex Bennée
2022-06-01 18:05 ` [PULL 08/33] tests/docker: update debian-mipsel-cross " Alex Bennée
2022-06-01 18:05 ` [PULL 09/33] tests/docker: update debian-mips64el-cross " Alex Bennée
2022-06-01 18:05 ` [PULL 10/33] tests/docker: update debian-ppc64el-cross " Alex Bennée
2022-06-01 18:05 ` [PULL 11/33] tests/docker: update debian-amd64 " Alex Bennée
2022-06-01 18:05 ` [PULL 12/33] configure: do not define or use the CPP variable Alex Bennée
2022-06-01 18:05 ` [PULL 13/33] build: clean up ninja invocation Alex Bennée
2022-06-01 18:05 ` [PULL 14/33] build: add a more generic way to specify make->ninja dependencies Alex Bennée
2022-06-01 18:05 ` [PULL 15/33] build: do a full build before running TCG tests Alex Bennée
2022-06-01 18:05 ` [PULL 16/33] configure, meson: move symlinking of ROMs to meson Alex Bennée
2022-06-01 18:05 ` [PULL 17/33] tests/tcg: correct target CPU for sparc32 Alex Bennée
2022-06-01 18:05 ` [PULL 18/33] tests/tcg: merge configure.sh back into main configure script Alex Bennée
2022-06-01 18:05 ` [PULL 19/33] configure: add missing cross compiler fallbacks Alex Bennée
2022-06-01 18:05 ` [PULL 20/33] configure: handle host compiler in probe_target_compiler Alex Bennée
2022-06-15 11:57   ` Matheus Kowalczuk Ferst
2022-06-16  1:20     ` Alex Bennée
2022-06-17 10:12     ` Paolo Bonzini
2022-06-20 16:41       ` Matheus Kowalczuk Ferst
2022-06-21  1:38         ` Richard Henderson
2022-06-21 16:58         ` Paolo Bonzini
2022-06-21 18:30           ` Richard Henderson
2022-06-22  8:39             ` Paolo Bonzini
2022-06-01 18:05 ` [PULL 21/33] configure: introduce --cross-prefix-*= Alex Bennée
2022-06-01 18:05 ` [PULL 22/33] configure: include more binutils in tests/tcg makefile Alex Bennée
2022-06-01 18:05 ` [PULL 23/33] configure: move symlink configuration earlier Alex Bennée
2022-06-01 18:05 ` [PULL 24/33] configure: enable cross-compilation of s390-ccw Alex Bennée
2022-06-01 18:05 ` [PULL 25/33] configure: enable cross-compilation of optionrom Alex Bennée
2022-06-01 18:05 ` [PULL 26/33] configure: enable cross compilation of vof Alex Bennée
2022-06-01 18:05 ` [PULL 27/33] configure: remove unused variables from config-host.mak Alex Bennée
2022-06-01 18:05 ` [PULL 28/33] gitlab: introduce a common base job template Alex Bennée
2022-06-01 18:05 ` [PULL 29/33] gitlab: convert Cirrus jobs to .base_job_template Alex Bennée
2022-06-01 18:05 ` [PULL 30/33] gitlab: convert static checks " Alex Bennée
2022-06-01 18:05 ` [PULL 31/33] gitlab: convert build/container jobs " Alex Bennée
2022-06-01 18:05 ` [PULL 32/33] gitlab: don't run CI jobs in forks by default Alex Bennée
2022-06-02 10:50   ` Philippe Mathieu-Daudé via
2022-06-06 11:01     ` Daniel P. Berrangé [this message]
2022-06-01 18:05 ` [PULL 33/33] docs/devel: clean-up the CI links in the docs Alex Bennée
2022-06-01 21:21 ` [PULL 00/33] testing updates (gitlab, junit, lcitool, x-compile) Richard Henderson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=Yp3ei+C3khj/2Wo+@redhat.com \
    --to=berrange@redhat.com \
    --cc=alex.bennee@linaro.org \
    --cc=bleal@redhat.com \
    --cc=f4bug@amsat.org \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-devel@nongnu.org \
    --cc=qemu-stable@nongnu.org \
    --cc=richard.henderson@linaro.org \
    --cc=thuth@redhat.com \
    --cc=wainersm@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.