.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(+)
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
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
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 :|
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
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>
© 2016 - 2026 Red Hat, Inc.