|
16 | 16 | options: |
17 | 17 | - '' |
18 | 18 | - 'ubuntu-22.04' |
19 | | - - 'macos-13' |
| 19 | + - 'macos-15-intel' |
20 | 20 | - 'macos-14' |
21 | 21 | - 'windows-2022' |
22 | 22 | debug_enabled_python: |
|
31 | 31 | - '3.11' |
32 | 32 | - '3.12' |
33 | 33 | - '3.13' |
34 | | - - '3.14-dev' |
| 34 | + - '3.14' |
35 | 35 | build_type: |
36 | 36 | type: choice |
37 | 37 | description: 'Choose the build type to use' |
|
67 | 67 | strategy: |
68 | 68 | fail-fast: false |
69 | 69 | matrix: |
70 | | - # Use Ubuntu 22.04 / macOS 13 x86_64 / macOS 14 arm64 + Python 3.10 to build SpiderMonkey |
71 | | - os: [ 'ubuntu-22.04', 'macos-13', 'macos-14', 'ubuntu-22.04-arm' ] # macOS 14 runner exclusively runs on M1 hardwares |
| 70 | + # Use Ubuntu 22.04 / macOS 15 x86_64 / macOS 14 arm64 + Python 3.10 to build SpiderMonkey |
| 71 | + os: [ 'ubuntu-22.04', 'macos-15-intel', 'macos-14', 'ubuntu-22.04-arm' ] # macOS 14 runner exclusively runs on M1 hardwares |
72 | 72 | # see https://github.blog/changelog/2024-01-30-github-actions-macos-14-sonoma-is-now-available |
73 | 73 | python_version: [ '3.10' ] |
74 | 74 | runs-on: ${{ matrix.os }} |
@@ -125,9 +125,9 @@ jobs: |
125 | 125 | with: |
126 | 126 | python-version: ${{ matrix.python_version }} |
127 | 127 | - name: Setup XCode |
128 | | - if: ${{ matrix.os == 'macos-13' && steps.cache-spidermonkey.outputs.cache-hit != 'true' }} |
129 | | - # SpiderMonkey requires XCode SDK version at least 13.3 |
130 | | - run: sudo xcode-select -switch /Applications/Xcode_14.3.app |
| 128 | + if: ${{ matrix.os == 'macos-15-intel' && steps.cache-spidermonkey.outputs.cache-hit != 'true' }} |
| 129 | + # Xcode 16.x removed the old linker behaviour (-ld64 or -ld_classic) that SpiderMonkey relies on, so we need to switch to an older version |
| 130 | + run: sudo xcode-select -switch /Applications/Xcode_16.0.app |
131 | 131 | - name: Build spidermonkey |
132 | 132 | if: ${{ steps.cache-spidermonkey.outputs.cache-hit != 'true' }} |
133 | 133 | run: ./setup.sh |
@@ -181,8 +181,8 @@ jobs: |
181 | 181 | strategy: |
182 | 182 | fail-fast: false |
183 | 183 | matrix: |
184 | | - os: [ 'ubuntu-22.04', 'macos-13', 'macos-14', 'windows-2022', 'ubuntu-22.04-arm' ] |
185 | | - python_version: [ '3.8', '3.9', '3.10', '3.11', '3.12', '3.13', '3.14-dev' ] |
| 184 | + os: [ 'ubuntu-22.04', 'macos-15-intel', 'macos-14', 'windows-2022', 'ubuntu-22.04-arm' ] |
| 185 | + python_version: [ '3.8', '3.9', '3.10', '3.11', '3.12', '3.13', '3.14' ] |
186 | 186 | runs-on: ${{ matrix.os }} |
187 | 187 | container: ${{ (startsWith(matrix.os, 'ubuntu') && 'ubuntu:20.04') || null }} |
188 | 188 | steps: |
@@ -220,10 +220,6 @@ jobs: |
220 | 220 | echo "$HOME/.pyenv/shims" >> $GITHUB_PATH |
221 | 221 | echo "PYENV_ROOT=$HOME/.pyenv" >> $GITHUB_ENV |
222 | 222 | export PATH="$HOME/.pyenv/bin:$PATH" |
223 | | - if [ "$PYTHON_VERSION" = "3.14-dev" ]; then |
224 | | - # Replacing 3.14-dev with a pinned prerelease version for fast installation |
225 | | - PYTHON_VERSION="3.14.0rc3" |
226 | | - fi |
227 | 223 | pyenv install $PYTHON_VERSION |
228 | 224 | pyenv global $PYTHON_VERSION |
229 | 225 | env: |
@@ -293,7 +289,7 @@ jobs: |
293 | 289 | BUILD_TYPE=${WORKFLOW_BUILD_TYPE:-"Debug"} poetry build --format=wheel |
294 | 290 | ls -lah ./dist/ |
295 | 291 | - name: Make the wheels we build also support lower versions of macOS |
296 | | - if: ${{ matrix.os == 'macos-13' || matrix.os == 'macos-14' }} |
| 292 | + if: ${{ matrix.os == 'macos-15-intel' || matrix.os == 'macos-14' }} |
297 | 293 | # Change the platform tag part of the wheel filename to `macosx_11_0_xxx` (means to support macOS 11.0 and above) |
298 | 294 | # See https://packaging.python.org/en/latest/specifications/binary-distribution-format/#file-format |
299 | 295 | # A wheel package file will only be selected by pip to install if the platform tag satisfies, regardless of whether the binary compatibility actually is. |
|
0 commit comments