QEMU-Devel Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: "Alex Bennée" <alex.bennee@linaro.org>
To: Thomas Huth <thuth@redhat.com>
Cc: qemu-devel@nongnu.org, "Thomas Huth" <th.huth+qemu@posteo.eu>,
	"Pierrick Bouvier" <pierrick.bouvier@linaro.org>,
	qemu-arm@nongnu.org, "Peter Xu" <peterx@redhat.com>,
	"Daniel P. Berrangé" <berrange@redhat.com>,
	"Pierrick Bouvier" <pierrick.bouvier@oss.qualcomm.com>,
	"Brad Smith" <brad@comstyle.com>,
	"Fabiano Rosas" <farosas@suse.de>,
	"Kyle Evans" <kevans@freebsd.org>,
	"Peter Maydell" <peter.maydell@linaro.org>,
	"Paolo Bonzini" <pbonzini@redhat.com>,
	"Warner Losh" <imp@bsdimp.com>,
	"Richard Henderson" <richard.henderson@linaro.org>,
	"Philippe Mathieu-Daudé" <philmd@linaro.org>
Subject: Re: [PATCH 4/5] gitlab: add initial MacOS 15 on gitlab runner
Date: Tue, 05 May 2026 14:18:01 +0100	[thread overview]
Message-ID: <87se86m1va.fsf@draig.linaro.org> (raw)
In-Reply-To: <1993d589-5e6c-4b60-a2f0-c5e61f88b961@redhat.com> (Thomas Huth's message of "Tue, 5 May 2026 13:44:07 +0200")

Thomas Huth <thuth@redhat.com> writes:

> On 05/05/2026 12.36, Alex Bennée wrote:
>> The gitlab runners are currently in beta but available to projects on
>> the Premium and Ultimate plans (which QEMU is via the Open Source
>> program).
>> We install some compilers via brew so we can run some of the
>> check-tcg
>> softmmu test cases.
>> We disable rust as the version is too old.
>> We disable plugins because we haven't taught the test harness about
>> .dynlib vs .so yet.
>> There is a discrepancy between the vars and version of MacOS because
>> lcitool needs teaching about other versions (although I don't think it
>> matters as brew is shared across versions).
>> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
>> ---
>>   .gitlab-ci.d/macos-14.vars    | 16 ++++++++++++
>>   .gitlab-ci.d/macos.yml        | 49 +++++++++++++++++++++++++++++++++++
>>   .gitlab-ci.d/qemu-project.yml |  1 +
>>   tests/lcitool/refresh         | 11 ++++++++
>>   4 files changed, 77 insertions(+)
>>   create mode 100644 .gitlab-ci.d/macos-14.vars
>>   create mode 100644 .gitlab-ci.d/macos.yml
>> diff --git a/.gitlab-ci.d/macos-14.vars b/.gitlab-ci.d/macos-14.vars
>> new file mode 100644
>> index 00000000000..def77cfdea5
>> --- /dev/null
>> +++ b/.gitlab-ci.d/macos-14.vars
>> @@ -0,0 +1,16 @@
>> +# THIS FILE WAS AUTO-GENERATED
>> +#
>> +#  $ lcitool variables macos-14 qemu
>> +#
>> +# https://gitlab.com/libvirt/libvirt-ci
>> +
>> +CCACHE='/opt/homebrew/bin/ccache'
>> +CPAN_PKGS=''
>> +CROSS_PKGS=''
>> +MAKE='/opt/homebrew/bin/gmake'
>> +NINJA='/opt/homebrew/bin/ninja'
>> +PACKAGING_COMMAND='brew'
>> +PIP3='/opt/homebrew/bin/pip3'
>> +PKGS='bash bc bindgen bison bzip2 capstone ccache cmocka coreutils
>> ctags curl dbus diffutils dtc flex gcovr gettext git glib gnu-sed
>> gnutls gtk+3 gtk-vnc jemalloc jpeg-turbo json-c libcbor libepoxy
>> libffi libgcrypt libiscsi libnfs libpng libslirp libssh libtasn1
>> libusb llvm lzo make meson mtools ncurses nettle ninja pixman
>> pkg-config python-setuptools python3 rpm2cpio rust sdl2 sdl2_image
>> snappy socat sparse spice-protocol swtpm tesseract usbredir vde vte3
>> vulkan-tools xorriso zlib zstd'
>> +PYPI_PKGS='PyYAML numpy pillow sphinx sphinx-rtd-theme tomli'
>> +PYTHON='/opt/homebrew/bin/python3'
>> diff --git a/.gitlab-ci.d/macos.yml b/.gitlab-ci.d/macos.yml
>> new file mode 100644
>> index 00000000000..edb500e937b
>> --- /dev/null
>> +++ b/.gitlab-ci.d/macos.yml
>> @@ -0,0 +1,49 @@
>> +.macos_job_template:
>> +  extends: .base_job_template
>> +  stage: build
>> +  tags:
>> +    - saas-macos-large-m2pro
>> +  needs: []
>> +  timeout: 80m
>> +  artifacts:
>> +    name: "$CI_JOB_NAME-$CI_COMMIT_REF_SLUG"
>> +    expire_in: 7 days
>> +    paths:
>> +      - build/meson-logs/
>> +      - build/tests/tcg/
>> +    reports:
>> +      junit: build/meson-logs/*.junit.xml
>> +    when: always
>> +  before_script:
>> +    - set -o allexport
>> +    - source .gitlab-ci.d/macos-14.vars
>> +    - set +o allexport
>> +    - export PATH="$PATH_EXTRA:$PATH"
>> +    - export PKG_CONFIG_PATH="$PKG_CONFIG_PATH"
>> +    - brew update
>> +    - brew install $PKGS
>> +    - brew install gdb aarch64-elf-gcc i686-elf-gcc x86_64-elf-gcc
>> +    - python3 ./scripts/probe-gdb-support.py $(which gdb)
>
> Is the probe-gdb-support.py required here? If not, I'd rather remove
> that line again.
>
>> +    - if test -n "$PYPI_PKGS" ; then PYLIB=$($PYTHON -c 'import sysconfig; print(sysconfig.get_path("stdlib"))'); rm -f $PYLIB/EXTERNALLY-MANAGED; $PIP3 install --break-system-packages $PYPI_PKGS ; fi
>> +  script:
>> +    - mkdir build
>> +    - cd build
>> +    - env
>
> dito, the "env" looks like debugging leftovers ... I'd rather drop it.
>

Yes both are debug left overs. Will fix.

>> +    - ../configure --enable-werror $CONFIGURE_ARGS || { cat config.log meson-logs/meson-log.txt; exit 1; }
>> +    - $MAKE -j$(sysctl -n hw.ncpu)
>> +    - for TARGET in $TEST_TARGETS ; do $MAKE $TARGET ; done
>> +
>> +aarch64-macos-15-build:
>> +  extends: .macos_job_template
>> +  image: macos-15-xcode-16
>> +  variables:
>> +    NAME: macos-15
>> +    PATH_EXTRA: /opt/homebrew/ccache/libexec:/opt/homebrew/gettext/bin
>
> As far as I can see, there is no cache configured for this runner ...
> so could you please drop the ccache stuff from this patch? It will
> only slow down compilation if the results get thrown away afterwards.

Yeah will drop that. The machine is beefy enough and the job duration is
~12 mins and most of that is installing brew bits.

>
>  Thomas
>
>> +    PKG_CONFIG_PATH: /opt/homebrew/curl/lib/pkgconfig:/opt/homebrew/ncurses/lib/pkgconfig:/opt/homebrew/readline/lib/pkgconfig
>> +    CONFIGURE_ARGS:
>> +        --target-list=aarch64-softmmu,i386-softmmu,x86_64-softmmu
>> +        --cross-prefix-aarch64=aarch64-elf-
>> +        --cross-prefix-i386=i686-elf-
>> +        --cross-prefix-x86_64=x86_64-elf-
>> +        --disable-plugins
>> +    TEST_TARGETS: check-unit check-tcg
>> diff --git a/.gitlab-ci.d/qemu-project.yml b/.gitlab-ci.d/qemu-project.yml
>> index 4d914c4897b..9cbb5fe787f 100644
>> --- a/.gitlab-ci.d/qemu-project.yml
>> +++ b/.gitlab-ci.d/qemu-project.yml
>> @@ -19,3 +19,4 @@ include:
>>     - local: '/.gitlab-ci.d/custom-runners.yml'
>>     - local: '/.gitlab-ci.d/cirrus.yml'
>>     - local: '/.gitlab-ci.d/windows.yml'
>> +  - local: '/.gitlab-ci.d/macos.yml'
>> diff --git a/tests/lcitool/refresh b/tests/lcitool/refresh
>> index fa4a16e3583..4289cc381a6 100755
>> --- a/tests/lcitool/refresh
>> +++ b/tests/lcitool/refresh
>> @@ -87,6 +87,12 @@ def generate_cirrus(target, trailer=None):
>>       generate(filename, cmd, trailer)
>>     +def generate_vars(target, trailer=None):
>> +    filename = Path(src_dir, ".gitlab-ci.d", target + ".vars")
>> +    cmd = lcitool_cmd + ["variables", "--format", "shell", target, "qemu"]
>> +    generate(filename, cmd, trailer)
>> +
>> +
>>   def generate_pkglist(vm, target, project="qemu"):
>>       filename = Path(src_dir, "tests", "vm", "generated", vm + ".json")
>>       cmd = lcitool_cmd + ["variables", "--format", "json", target, project]
>> @@ -312,6 +318,11 @@ try:
>>       #
>>       generate_cirrus("freebsd-14")
>>   +    #
>> +    # GitLab packages lists
>> +    #
>> +    generate_vars("macos-14")
>> +
>>       #
>>       # VM packages lists
>>       #

-- 
Alex Bennée
Virtualisation Tech Lead @ Linaro


  reply	other threads:[~2026-05-05 13:18 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-05-05 10:36 [PATCH 0/5] testing/next: macos updates Alex Bennée
2026-05-05 10:36 ` [PATCH 1/5] configure: report unsigned qemu binaries for check-tcg Alex Bennée
2026-05-05 10:43   ` Peter Maydell
2026-05-05 11:00     ` Alex Bennée
2026-05-05 12:03       ` Peter Maydell
2026-05-05 10:36 ` [PATCH 2/5] accel/tcg: move jit thread manipulation into do_tb_phys_invalidate Alex Bennée
2026-05-07  4:58   ` Richard Henderson
2026-05-11 18:09     ` Alex Bennée
2026-05-05 10:36 ` [PATCH 3/5] ci: drop cirrus MacOS build Alex Bennée
2026-05-05 10:41   ` Thomas Huth
2026-05-05 10:53   ` Philippe Mathieu-Daudé
2026-05-05 10:36 ` [PATCH 4/5] gitlab: add initial MacOS 15 on gitlab runner Alex Bennée
2026-05-05 11:44   ` Thomas Huth
2026-05-05 13:18     ` Alex Bennée [this message]
2026-05-05 10:36 ` [PATCH 5/5] gitlab: add MacOS 26 job on gitlab runner (!broken) Alex Bennée

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=87se86m1va.fsf@draig.linaro.org \
    --to=alex.bennee@linaro.org \
    --cc=berrange@redhat.com \
    --cc=brad@comstyle.com \
    --cc=farosas@suse.de \
    --cc=imp@bsdimp.com \
    --cc=kevans@freebsd.org \
    --cc=pbonzini@redhat.com \
    --cc=peter.maydell@linaro.org \
    --cc=peterx@redhat.com \
    --cc=philmd@linaro.org \
    --cc=pierrick.bouvier@linaro.org \
    --cc=pierrick.bouvier@oss.qualcomm.com \
    --cc=qemu-arm@nongnu.org \
    --cc=qemu-devel@nongnu.org \
    --cc=richard.henderson@linaro.org \
    --cc=th.huth+qemu@posteo.eu \
    --cc=thuth@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