[PATCH] gitlab: disable macOS jobs in forks

Daniel P. Berrangé posted 1 patch 1 month, 2 weeks ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20260610091700.2772973-1-berrange@redhat.com
Maintainers: "Alex Bennée" <alex.bennee@linaro.org>, Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com>
.gitlab-ci.d/base.yml              | 5 +++++
.gitlab-ci.d/macos.yml             | 2 ++
docs/devel/testing/ci-jobs.rst.inc | 7 +++++++
3 files changed, 14 insertions(+)
[PATCH] gitlab: disable macOS jobs in forks
Posted by Daniel P. Berrangé 1 month, 2 weeks ago
The GitLab macOS runners are only available in Premium and Ultimate
tier projects. This permits their use in QEMU upstream via the OSS
Program membership perk, but this does not extend to forks of QEMU.
The macOS jobs thus need to be disabled in forks, otherwise all
pipelines will immediately report a failure due to inability to
access a runner.

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
---
 .gitlab-ci.d/base.yml              | 5 +++++
 .gitlab-ci.d/macos.yml             | 2 ++
 docs/devel/testing/ci-jobs.rst.inc | 7 +++++++
 3 files changed, 14 insertions(+)

diff --git a/.gitlab-ci.d/base.yml b/.gitlab-ci.d/base.yml
index 72eadc8073..714d2ed8a6 100644
--- a/.gitlab-ci.d/base.yml
+++ b/.gitlab-ci.d/base.yml
@@ -52,6 +52,11 @@ variables:
     - if: '$CI_PIPELINE_SOURCE == "schedule"'
       when: never
 
+    # macOS jobs can't run in forks until gitlab opens up runner availability
+    # to all tiers https://gitlab.com/groups/gitlab-org/-/work_items/8267
+    - if: '$QEMU_JOB_MACOS == "1" && $CI_PROJECT_NAMESPACE != $QEMU_CI_UPSTREAM'
+      when: never
+
     # Publishing jobs should only run on the default branch in upstream
     - if: '$QEMU_JOB_PUBLISH == "1" && $CI_PROJECT_NAMESPACE == $QEMU_CI_UPSTREAM && $CI_COMMIT_BRANCH != $CI_DEFAULT_BRANCH'
       when: never
diff --git a/.gitlab-ci.d/macos.yml b/.gitlab-ci.d/macos.yml
index 8366b4ad56..84ad2492ca 100644
--- a/.gitlab-ci.d/macos.yml
+++ b/.gitlab-ci.d/macos.yml
@@ -36,6 +36,7 @@ aarch64-macos-15-build:
   extends: .macos_job_template
   image: macos-15-xcode-16
   variables:
+    QEMU_JOB_MACOS: 1
     NAME: macos-15
     PATH_EXTRA: /opt/homebrew/gettext/bin
     PKG_CONFIG_PATH: /opt/homebrew/curl/lib/pkgconfig:/opt/homebrew/ncurses/lib/pkgconfig:/opt/homebrew/readline/lib/pkgconfig
@@ -52,6 +53,7 @@ aarch64-macos-26-build:
   extends: .macos_job_template
   image: macos-26-xcode-26
   variables:
+    QEMU_JOB_MACOS: 1
     NAME: macos-26
     DYLD_LIBRARY_PATH: /opt/homebrew/opt/expat/lib/
     PATH_EXTRA: /opt/homebrew/gettext/bin
diff --git a/docs/devel/testing/ci-jobs.rst.inc b/docs/devel/testing/ci-jobs.rst.inc
index d5b081978a..d747a7ad13 100644
--- a/docs/devel/testing/ci-jobs.rst.inc
+++ b/docs/devel/testing/ci-jobs.rst.inc
@@ -125,6 +125,13 @@ QEMU_JOB_FUNCTIONAL
 
 The job runs the functional test suite
 
+QEMU_JOB_MACOS
+~~~~~~~~~~~~~~
+
+The job requires access to the macOS shared runners, which are
+only available to Premium/Ultimate tiers. This includes OSS project
+members, but not forks.
+
 Contributor controlled runtime variables
 ----------------------------------------
 
-- 
2.54.0


Re: [PATCH] gitlab: disable macOS jobs in forks
Posted by Pierrick Bouvier 1 month ago
On 6/10/2026 2:17 AM, Daniel P. Berrangé wrote:
> The GitLab macOS runners are only available in Premium and Ultimate
> tier projects. This permits their use in QEMU upstream via the OSS
> Program membership perk, but this does not extend to forks of QEMU.
> The macOS jobs thus need to be disabled in forks, otherwise all
> pipelines will immediately report a failure due to inability to
> access a runner.
> 
> Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
> ---
>  .gitlab-ci.d/base.yml              | 5 +++++
>  .gitlab-ci.d/macos.yml             | 2 ++
>  docs/devel/testing/ci-jobs.rst.inc | 7 +++++++
>  3 files changed, 14 insertions(+)
> 

This was merged into master (1b4d5bb3e233c9fc84663be28635d122c9a2b81e).
Thank you for your contribution!

Regards,
Pierrick

Re: [PATCH] gitlab: disable macOS jobs in forks
Posted by Daniel P. Berrangé 1 month ago
Hi Alex,

Could you pick this one up for your CI queue ?

On Wed, Jun 10, 2026 at 10:17:00AM +0100, Daniel P. Berrangé wrote:
> The GitLab macOS runners are only available in Premium and Ultimate
> tier projects. This permits their use in QEMU upstream via the OSS
> Program membership perk, but this does not extend to forks of QEMU.
> The macOS jobs thus need to be disabled in forks, otherwise all
> pipelines will immediately report a failure due to inability to
> access a runner.
> 
> Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
> ---
>  .gitlab-ci.d/base.yml              | 5 +++++
>  .gitlab-ci.d/macos.yml             | 2 ++
>  docs/devel/testing/ci-jobs.rst.inc | 7 +++++++
>  3 files changed, 14 insertions(+)
> 
> diff --git a/.gitlab-ci.d/base.yml b/.gitlab-ci.d/base.yml
> index 72eadc8073..714d2ed8a6 100644
> --- a/.gitlab-ci.d/base.yml
> +++ b/.gitlab-ci.d/base.yml
> @@ -52,6 +52,11 @@ variables:
>      - if: '$CI_PIPELINE_SOURCE == "schedule"'
>        when: never
>  
> +    # macOS jobs can't run in forks until gitlab opens up runner availability
> +    # to all tiers https://gitlab.com/groups/gitlab-org/-/work_items/8267
> +    - if: '$QEMU_JOB_MACOS == "1" && $CI_PROJECT_NAMESPACE != $QEMU_CI_UPSTREAM'
> +      when: never
> +
>      # Publishing jobs should only run on the default branch in upstream
>      - if: '$QEMU_JOB_PUBLISH == "1" && $CI_PROJECT_NAMESPACE == $QEMU_CI_UPSTREAM && $CI_COMMIT_BRANCH != $CI_DEFAULT_BRANCH'
>        when: never
> diff --git a/.gitlab-ci.d/macos.yml b/.gitlab-ci.d/macos.yml
> index 8366b4ad56..84ad2492ca 100644
> --- a/.gitlab-ci.d/macos.yml
> +++ b/.gitlab-ci.d/macos.yml
> @@ -36,6 +36,7 @@ aarch64-macos-15-build:
>    extends: .macos_job_template
>    image: macos-15-xcode-16
>    variables:
> +    QEMU_JOB_MACOS: 1
>      NAME: macos-15
>      PATH_EXTRA: /opt/homebrew/gettext/bin
>      PKG_CONFIG_PATH: /opt/homebrew/curl/lib/pkgconfig:/opt/homebrew/ncurses/lib/pkgconfig:/opt/homebrew/readline/lib/pkgconfig
> @@ -52,6 +53,7 @@ aarch64-macos-26-build:
>    extends: .macos_job_template
>    image: macos-26-xcode-26
>    variables:
> +    QEMU_JOB_MACOS: 1
>      NAME: macos-26
>      DYLD_LIBRARY_PATH: /opt/homebrew/opt/expat/lib/
>      PATH_EXTRA: /opt/homebrew/gettext/bin
> diff --git a/docs/devel/testing/ci-jobs.rst.inc b/docs/devel/testing/ci-jobs.rst.inc
> index d5b081978a..d747a7ad13 100644
> --- a/docs/devel/testing/ci-jobs.rst.inc
> +++ b/docs/devel/testing/ci-jobs.rst.inc
> @@ -125,6 +125,13 @@ QEMU_JOB_FUNCTIONAL
>  
>  The job runs the functional test suite
>  
> +QEMU_JOB_MACOS
> +~~~~~~~~~~~~~~
> +
> +The job requires access to the macOS shared runners, which are
> +only available to Premium/Ultimate tiers. This includes OSS project
> +members, but not forks.
> +
>  Contributor controlled runtime variables
>  ----------------------------------------
>  
> -- 
> 2.54.0
> 

With regards,
Daniel
-- 
|: https://berrange.com       ~~        https://hachyderm.io/@berrange :|
|: https://libvirt.org          ~~          https://entangle-photo.org :|
|: https://pixelfed.art/berrange   ~~    https://fstop138.berrange.com :|


Re: [PATCH] gitlab: disable macOS jobs in forks
Posted by Pierrick Bouvier 1 month ago
Hi Daniel,

On 6/23/2026 6:14 AM, Daniel P. Berrangé wrote:
> Hi Alex,
> 
> Could you pick this one up for your CI queue ?
> 
> On Wed, Jun 10, 2026 at 10:17:00AM +0100, Daniel P. Berrangé wrote:
>> The GitLab macOS runners are only available in Premium and Ultimate
>> tier projects. This permits their use in QEMU upstream via the OSS
>> Program membership perk, but this does not extend to forks of QEMU.
>> The macOS jobs thus need to be disabled in forks, otherwise all
>> pipelines will immediately report a failure due to inability to
>> access a runner.
>>
>> Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
>> ---
>>  .gitlab-ci.d/base.yml              | 5 +++++
>>  .gitlab-ci.d/macos.yml             | 2 ++
>>  docs/devel/testing/ci-jobs.rst.inc | 7 +++++++
>>  3 files changed, 14 insertions(+)
>>

just sent a PR for it.
https://lore.kernel.org/qemu-devel/20260623171137.1847038-1-pierrick.bouvier@oss.qualcomm.com/T/#

Sorry for the delay, I'll be more proactive on this subsystem in the future.

Regards,
Pierrick

Re: [PATCH] gitlab: disable macOS jobs in forks
Posted by Pierrick Bouvier 1 month, 2 weeks ago
On 6/10/2026 2:17 AM, Daniel P. Berrangé wrote:
> The GitLab macOS runners are only available in Premium and Ultimate
> tier projects. This permits their use in QEMU upstream via the OSS
> Program membership perk, but this does not extend to forks of QEMU.
> The macOS jobs thus need to be disabled in forks, otherwise all
> pipelines will immediately report a failure due to inability to
> access a runner.
> 
> Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
> ---
>  .gitlab-ci.d/base.yml              | 5 +++++
>  .gitlab-ci.d/macos.yml             | 2 ++
>  docs/devel/testing/ci-jobs.rst.inc | 7 +++++++
>  3 files changed, 14 insertions(+)
> 

Reviewed-by: Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com>