master
yml 66 lines 2.32 KB
Raw
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