qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Thomas Huth <thuth@redhat.com>
To: "Daniel P. Berrangé" <berrange@redhat.com>, qemu-devel@nongnu.org
Cc: "Wainer dos Santos Moschetta" <wainersm@redhat.com>,
	"Michael Tokarev" <mjt@tls.msk.ru>,
	"Philippe Mathieu-Daudé" <philmd@linaro.org>,
	"Alex Bennée" <alex.bennee@linaro.org>,
	"Beraldo Leal" <bleal@redhat.com>,
	"Richard Henderson" <richard.henderson@linaro.org>
Subject: Re: [PATCH v3 2/5] gitlab: allow overriding name of the upstream repository
Date: Wed, 21 Jun 2023 16:45:45 +0200	[thread overview]
Message-ID: <b49d46fb-f4d9-94b4-4bd2-895bb1b0b692@redhat.com> (raw)
In-Reply-To: <20230608164018.2520330-3-berrange@redhat.com>

On 08/06/2023 18.40, Daniel P. Berrangé wrote:
> The CI rules have special logic for what happens in upstream. To enable
> contributors who modify CI rules to test this logic, however, they need
> to be able to override which repo is considered upstream. This
> introduces the 'QEMU_CI_UPSTREAM' variable
> 
>    git push gitlab <branch> -o ci.variable=QEMU_CI_UPSTREAM=berrange
> 
> to make it look as if my namespace is the actual upstream. Namespace in
> this context refers to the path fragement in gitlab URLs that is above

s/fragement/fragment/

> the repository. Typically this will be the contributor's gitlab login
> name.
> 
> Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
> Reviewed-by: Michael Tokarev <mjt@tls.msk.ru>
> Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
> ---
>   .gitlab-ci.d/base.yml      | 19 ++++++++++++-------
>   docs/devel/ci-jobs.rst.inc |  6 ++++++
>   2 files changed, 18 insertions(+), 7 deletions(-)
> 
> diff --git a/.gitlab-ci.d/base.yml b/.gitlab-ci.d/base.yml
> index fba9d31cc6..a1d734267a 100644
> --- a/.gitlab-ci.d/base.yml
> +++ b/.gitlab-ci.d/base.yml
> @@ -5,6 +5,11 @@ variables:
>     # for different branches in contributor forks.
>     QEMU_CI_CONTAINER_TAG: latest
>   
> +  # For purposes of CI rules, upstream is the gitlab.com/qemu-project
> +  # namespace. When testing CI, it might be usefult to override this
> +  # to point to a fork repo
> +  QEMU_CI_UPSTREAM: qemu-project
> +
>   # The order of rules defined here is critically important.
>   # They are evaluated in order and first match wins.
>   #
> @@ -30,23 +35,23 @@ variables:
>         when: never
>   
>       # Publishing jobs should only run on the default branch in upstream
> -    - if: '$QEMU_JOB_PUBLISH == "1" && $CI_PROJECT_NAMESPACE == "qemu-project" && $CI_COMMIT_BRANCH != $CI_DEFAULT_BRANCH'
> +    - if: '$QEMU_JOB_PUBLISH == "1" && $CI_PROJECT_NAMESPACE == $QEMU_CI_UPSTREAM && $CI_COMMIT_BRANCH != $CI_DEFAULT_BRANCH'
>         when: never
>   
>       # Non-publishing jobs should only run on staging branches in upstream
> -    - if: '$QEMU_JOB_PUBLISH != "1" && $CI_PROJECT_NAMESPACE == "qemu-project" && $CI_COMMIT_BRANCH !~ /staging/'
> +    - if: '$QEMU_JOB_PUBLISH != "1" && $CI_PROJECT_NAMESPACE == $QEMU_CI_UPSTREAM && $CI_COMMIT_BRANCH !~ /staging/'
>         when: never
>   
>       # Jobs only intended for forks should always be skipped on upstream
> -    - if: '$QEMU_JOB_ONLY_FORKS == "1" && $CI_PROJECT_NAMESPACE == "qemu-project"'
> +    - if: '$QEMU_JOB_ONLY_FORKS == "1" && $CI_PROJECT_NAMESPACE == $QEMU_CI_UPSTREAM'
>         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"'
> +    - if: '$QEMU_CI != "1" && $QEMU_CI != "2" && $CI_PROJECT_NAMESPACE != $QEMU_CI_UPSTREAM'
>         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"'
> +    - if: '$QEMU_JOB_AVOCADO && $QEMU_CI_AVOCADO_TESTING != "1" && $CI_PROJECT_NAMESPACE != $QEMU_CI_UPSTREAM'
>         when: never
>   
>   
> @@ -66,7 +71,7 @@ variables:
>         allow_failure: true
>   
>       # Avocado jobs can be manually start in forks if $QEMU_CI_AVOCADO_TESTING is unset
> -    - if: '$QEMU_JOB_AVOCADO && $CI_PROJECT_NAMESPACE != "qemu-project"'
> +    - if: '$QEMU_JOB_AVOCADO && $CI_PROJECT_NAMESPACE != $QEMU_CI_UPSTREAM'
>         when: manual
>         allow_failure: true
>   
> @@ -78,7 +83,7 @@ variables:
>   
>       # Forks pipeline jobs don't start automatically unless
>       # QEMU_CI=2 is set
> -    - if: '$QEMU_CI != "2" && $CI_PROJECT_NAMESPACE != "qemu-project"'
> +    - if: '$QEMU_CI != "2" && $CI_PROJECT_NAMESPACE != $QEMU_CI_UPSTREAM'
>         when: manual
>   
>       # Jobs can run if any jobs they depend on were successful
> diff --git a/docs/devel/ci-jobs.rst.inc b/docs/devel/ci-jobs.rst.inc
> index f72537853b..f9ef14f2eb 100644
> --- a/docs/devel/ci-jobs.rst.inc
> +++ b/docs/devel/ci-jobs.rst.inc
> @@ -75,6 +75,12 @@ in a handful of namespaces
>      'latest', but if running pipelines for different branches
>      concurrently, it should be overridden per pipeline.
>   
> + * QEMU_CI_UPSTREAM - gitlab namespace that is considerd to be

s/considerd/considered/

> +   the 'upstream'. This defaults to 'qemu-project'. Contributors
> +   may choose to override this if they are modifying rules in
> +   base.yml and need to validate how they will operate when in
> +   an upstream context, as opposed to their fork context.
> +
>    * nnn - other misc variables not falling into the above
>      categories, or using different names for historical reasons
>      and not yet converted.

I can fix up the typos when picking up the patch, no need to resend.

Reviewed-by: Thomas Huth <thuth@redhat.com>



  reply	other threads:[~2023-06-21 14:46 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-06-08 16:40 [PATCH v3 0/5] gitlab: improvements to handling of stable staging branches Daniel P. Berrangé
2023-06-08 16:40 ` [PATCH v3 1/5] gitlab: centralize the container tag name Daniel P. Berrangé
2023-06-08 16:40 ` [PATCH v3 2/5] gitlab: allow overriding name of the upstream repository Daniel P. Berrangé
2023-06-21 14:45   ` Thomas Huth [this message]
2023-06-08 16:40 ` [PATCH v3 3/5] gitlab: stable staging branches publish containers in a separate tag Daniel P. Berrangé
2023-06-08 16:40 ` [PATCH v3 4/5] gitlab: avoid extra pipelines for tags and stable branches Daniel P. Berrangé
2023-06-08 16:40 ` [PATCH v3 5/5] gitlab: support disabling job auto-run in upstream Daniel P. Berrangé
2023-06-09  2:54   ` 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=b49d46fb-f4d9-94b4-4bd2-895bb1b0b692@redhat.com \
    --to=thuth@redhat.com \
    --cc=alex.bennee@linaro.org \
    --cc=berrange@redhat.com \
    --cc=bleal@redhat.com \
    --cc=mjt@tls.msk.ru \
    --cc=philmd@linaro.org \
    --cc=qemu-devel@nongnu.org \
    --cc=richard.henderson@linaro.org \
    --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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).