@@ -6,19 +6,23 @@ concurrency:
66
77on :
88 push :
9+ branches :
10+ - master
11+ # Stable branches such as 0.56 or 1.0
12+ - ' [0-9]+.[0-9]+'
913 paths :
1014 - " mesonbuild/**"
1115 - " test cases/**"
1216 - " unittests/**"
1317 - " .github/workflows/macos.yml"
14- - " run_unittests .py"
18+ - " run*tests .py"
1519 pull_request :
1620 paths :
1721 - " mesonbuild/**"
1822 - " test cases/**"
1923 - " unittests/**"
2024 - " .github/workflows/macos.yml"
21- - " run_unittests .py"
25+ - " run*tests .py"
2226
2327permissions :
2428 contents : read
@@ -33,18 +37,19 @@ jobs:
3337 python-version : ' 3.x'
3438 - run : |
3539 python -m pip install --upgrade pip
36- python -m pip install pytest pytest-xdist pytest-subtests jsonschema coverage
40+ python -m pip install pytest pytest-xdist pytest-subtests fastjsonschema coverage
3741 - run : brew install pkg-config ninja llvm qt@5
3842 - env :
39- CPPFLAGS : " -I/usr/local /include"
40- LDFLAGS : " -L/usr/local /lib"
43+ CPPFLAGS : " -I/opt/homebrew /include"
44+ LDFLAGS : " -L/opt/homebrew /lib"
4145 MESON_CI_JOBNAME : unittests-appleclang
4246 MESON_UNIT_TEST_BACKEND : ninja
47+ HOMEBREW_NO_AUTO_UPDATE : 1
4348 # These cannot evaluate anything, so we cannot set PATH or SDKROOT here
4449 run : |
4550 export SDKROOT="$(xcodebuild -version -sdk macosx Path)"
46- export PATH="$HOME/tools:/usr/local /opt/qt@5/bin:$PATH:$(brew --prefix llvm) /bin"
47- export PKG_CONFIG_PATH="/usr/local /opt/qt@5/lib/pkgconfig:$PKG_CONFIG_PATH"
51+ export PATH="$HOME/tools:/opt/homebrew /opt/qt@5/bin:/opt/homebrew/opt/ llvm/bin:$PATH "
52+ export PKG_CONFIG_PATH="/opt/homebrew /opt/qt@5/lib/pkgconfig:$PKG_CONFIG_PATH"
4853 ./tools/run_with_cov.py ./run_unittests.py
4954
5055 - name : Aggregate coverage reports
7378 name : ${{ matrix.NAME }}
7479 env :
7580 MESON_CI_JOBNAME : ${{ matrix.NAME }}
81+ HOMEBREW_NO_AUTO_UPDATE : 1
7682
7783 steps :
7884 - uses : actions/checkout@v3
@@ -84,24 +90,28 @@ jobs:
8490 find /usr/local/bin -lname '*/Library/Frameworks/Python.framework/*' -delete
8591 sudo rm -rf /Library/Frameworks/Python.framework/
8692 brew install --force python3 && brew unlink python3 && brew unlink python3 && brew link --overwrite python3
93+ # Delete nonsensical PEP 668 breakage. It is the wrong solution to the problem and isn't designed to be
94+ # productive -- only victim blaming -- however it bites particularly badly because this is a container/VM
95+ # See commit 5c479d7a13a518c18ccb4dc3b6bdd7bfc2a9bdb5 for a more thorough analysis.
96+ find /opt/homebrew/Cellar/python* -name EXTERNALLY-MANAGED -print0 | xargs -0 rm -vf
8797 # use python3 from homebrew because it is a valid framework, unlike the actions one:
8898 # https://github.com/actions/setup-python/issues/58
89- - run : brew install pkg-config ninja llvm qt@5 boost ldc hdf5 openmpi lapack scalapack sdl2 boost-python3 gtk-doc
99+ - run : brew install pkg-config ninja llvm qt@5 boost ldc hdf5 openmpi lapack scalapack sdl2 boost-python3 gtk-doc zstd ncurses objfw
90100 - run : |
91101 python3 -m pip install --upgrade setuptools
92102 python3 -m pip install --upgrade pip
93103 python3 -m pip install cython coverage
94104 - env :
95- CPPFLAGS : " -I/usr/local /include"
96- LDFLAGS : " -L/usr/local /lib"
105+ CPPFLAGS : " -I/opt/homebrew /include"
106+ LDFLAGS : " -L/opt/homebrew /lib"
97107 MESON_ARGS : --unity=${{ matrix.unity }}
108+ XML_CATALOG_FILES : " /opt/homebrew/etc/xml/catalog"
98109 CI : 1
99110 # These cannot evaluate anything, so we cannot set PATH or SDKROOT here
100111 run : |
101112 export SDKROOT="$(xcodebuild -version -sdk macosx Path)"
102- export PATH="$HOME/tools:/usr/local/opt/qt@5/bin:$PATH:$(brew --prefix llvm)/bin"
103- export PKG_CONFIG_PATH="/usr/local/opt/qt@5/lib/pkgconfig:$PKG_CONFIG_PATH"
104- export XML_CATALOG_FILES="/usr/local/etc/xml/catalog"
113+ export PATH="$HOME/tools:/opt/homebrew/opt/qt@5/bin:/opt/homebrew/opt/llvm/bin:/opt/homebrew/opt/ncurses/bin:$PATH"
114+ export PKG_CONFIG_PATH="/opt/homebrew/opt/qt@5/lib/pkgconfig:/opt/homebrew/opt/lapack/lib/pkgconfig:/opt/homebrew/opt/ncurses/lib/pkgconfig:$PKG_CONFIG_PATH"
105115 ./tools/run_with_cov.py ./run_project_tests.py --backend=ninja
106116
107117 - name : Aggregate coverage reports
@@ -116,7 +126,11 @@ jobs:
116126 verbose : true
117127
118128 Qt4macos :
119- runs-on : macos-latest
129+ # This job only works on Intel Macs, because OpenSSL 1.0 doesn't build on
130+ # Apple ARM
131+ runs-on : macos-13
132+ env :
133+ HOMEBREW_NO_AUTO_UPDATE : 1
120134 steps :
121135 - uses : actions/checkout@v3
122136 - uses : actions/setup-python@v4
0 commit comments