| 1 | .macos_job_template: |
| 2 | extends: .base_meson_job_template |
| 3 | stage: build |
| 4 | tags: |
| 5 | - saas-macos-large-m2pro |
| 6 | needs: [] |
| 7 | timeout: 80m |
| 8 | artifacts: |
| 9 | name: "$CI_JOB_NAME-$CI_COMMIT_REF_SLUG" |
| 10 | expire_in: 7 days |
| 11 | paths: |
| 12 | - build/meson-logs/ |
| 13 | - build/tests/tcg/ |
| 14 | reports: |
| 15 | junit: build/meson-logs/*.junit.xml |
| 16 | when: always |
| 17 | before_script: |
| 18 | - set -o allexport |
| 19 | - source .gitlab-ci.d/macos-14.vars |
| 20 | - set +o allexport |
| 21 | - export PATH="$PATH_EXTRA:$PATH" |
| 22 | - export PKG_CONFIG_PATH="$PKG_CONFIG_PATH" |
| 23 | - brew update |
| 24 | - brew install $PKGS |
| 25 | - brew install arm-none-eabi-gcc aarch64-elf-gcc i686-elf-gcc x86_64-elf-gcc |
| 26 | - 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 |
| 27 | script: |
| 28 | - mkdir build |
| 29 | - cd build |
| 30 | - ../configure --enable-werror $CONFIGURE_ARGS || { cat config.log meson-logs/meson-log.txt; exit 1; } |
| 31 | - $MAKE -j$(sysctl -n hw.ncpu) |
| 32 | - for TARGET in $TEST_TARGETS ; do $MAKE $TARGET ; done |
| 33 | |
| 34 | aarch64-macos-15-build: |
| 35 | extends: .macos_job_template |
| 36 | image: macos-15-xcode-16 |
| 37 | variables: |
| 38 | QEMU_JOB_MACOS: 1 |
| 39 | NAME: macos-15 |
| 40 | PATH_EXTRA: /opt/homebrew/gettext/bin |
| 41 | PKG_CONFIG_PATH: /opt/homebrew/curl/lib/pkgconfig:/opt/homebrew/ncurses/lib/pkgconfig:/opt/homebrew/readline/lib/pkgconfig |
| 42 | CONFIGURE_ARGS: |
| 43 | --target-list=aarch64-softmmu,arm-softmmu,i386-softmmu,x86_64-softmmu |
| 44 | --cross-prefix-aarch64=aarch64-elf- |
| 45 | --cross-prefix-arm=arm-none-eabi- |
| 46 | --cross-prefix-i386=i686-elf- |
| 47 | --cross-prefix-x86_64=x86_64-elf- |
| 48 | --disable-plugins |
| 49 | TEST_TARGETS: check-unit check-tcg |
| 50 | |
| 51 | aarch64-macos-26-build: |
| 52 | extends: .macos_job_template |
| 53 | image: macos-26-xcode-26 |
| 54 | variables: |
| 55 | QEMU_JOB_MACOS: 1 |
| 56 | NAME: macos-26 |
| 57 | DYLD_LIBRARY_PATH: /opt/homebrew/opt/expat/lib/ |
| 58 | PATH_EXTRA: /opt/homebrew/gettext/bin |
| 59 | PKG_CONFIG_PATH: /opt/homebrew/curl/lib/pkgconfig:/opt/homebrew/ncurses/lib/pkgconfig:/opt/homebrew/readline/lib/pkgconfig |
| 60 | CONFIGURE_ARGS: |
| 61 | --target-list=aarch64-softmmu,i386-softmmu,x86_64-softmmu |
| 62 | --cross-prefix-aarch64=aarch64-elf- |
| 63 | --cross-prefix-i386=i686-elf- |
| 64 | --cross-prefix-x86_64=x86_64-elf- |
| 65 | --disable-plugins |
| 66 | TEST_TARGETS: check-unit check-tcg |