| .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 aarch64-elf-gcc i686-elf-gcc x86_64-elf-gcc |
| - 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 |
| - ../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: |
| 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 |
| 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 |
| |
| 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 |
| 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 |