Skip to content

Commit

Permalink
Add support for freethreaded builds of Python 3.13
Browse files Browse the repository at this point in the history
  • Loading branch information
zanieb committed Sep 9, 2024
1 parent a294377 commit 8f9eea7
Show file tree
Hide file tree
Showing 11 changed files with 588 additions and 357 deletions.
101 changes: 63 additions & 38 deletions .github/workflows/apple.yml
Original file line number Diff line number Diff line change
Expand Up @@ -47,161 +47,186 @@ jobs:
- target_triple: 'aarch64-apple-darwin'
runner: macos-14
py: 'cpython-3.8'
optimizations: 'debug'
options: 'debug'
- target_triple: 'aarch64-apple-darwin'
runner: macos-14
py: 'cpython-3.8'
optimizations: 'pgo'
options: 'pgo'
- target_triple: 'aarch64-apple-darwin'
runner: macos-14
py: 'cpython-3.8'
optimizations: 'pgo+lto'
options: 'pgo+lto'

- target_triple: 'aarch64-apple-darwin'
runner: macos-14
py: 'cpython-3.9'
optimizations: 'debug'
options: 'debug'
- target_triple: 'aarch64-apple-darwin'
runner: macos-14
py: 'cpython-3.9'
optimizations: 'pgo'
options: 'pgo'
- target_triple: 'aarch64-apple-darwin'
runner: macos-14
py: 'cpython-3.9'
optimizations: 'pgo+lto'
options: 'pgo+lto'

- target_triple: 'aarch64-apple-darwin'
runner: macos-14
py: 'cpython-3.10'
optimizations: 'debug'
options: 'debug'
- target_triple: 'aarch64-apple-darwin'
runner: macos-14
py: 'cpython-3.10'
optimizations: 'pgo'
options: 'pgo'
- target_triple: 'aarch64-apple-darwin'
runner: macos-14
py: 'cpython-3.10'
optimizations: 'pgo+lto'
options: 'pgo+lto'

- target_triple: 'aarch64-apple-darwin'
runner: macos-14
py: 'cpython-3.11'
optimizations: 'debug'
options: 'debug'
- target_triple: 'aarch64-apple-darwin'
runner: macos-14
py: 'cpython-3.11'
optimizations: 'pgo'
options: 'pgo'
- target_triple: 'aarch64-apple-darwin'
runner: macos-14
py: 'cpython-3.11'
optimizations: 'pgo+lto'
options: 'pgo+lto'

- target_triple: 'aarch64-apple-darwin'
runner: macos-14
py: 'cpython-3.12'
optimizations: 'debug'
options: 'debug'
- target_triple: 'aarch64-apple-darwin'
runner: macos-14
py: 'cpython-3.12'
optimizations: 'pgo'
options: 'pgo'
- target_triple: 'aarch64-apple-darwin'
runner: macos-14
py: 'cpython-3.12'
optimizations: 'pgo+lto'
options: 'pgo+lto'

- target_triple: 'aarch64-apple-darwin'
runner: macos-14
py: 'cpython-3.13'
optimizations: 'debug'
options: 'debug'
- target_triple: 'aarch64-apple-darwin'
runner: macos-14
py: 'cpython-3.13'
optimizations: 'pgo'
options: 'pgo'
- target_triple: 'aarch64-apple-darwin'
runner: macos-14
py: 'cpython-3.13'
optimizations: 'pgo+lto'
options: 'pgo+lto'

- target_triple: 'aarch64-apple-darwin'
runner: macos-14
py: 'cpython-3.13'
options: 'freethreaded+debug'
- target_triple: 'aarch64-apple-darwin'
runner: macos-14
py: 'cpython-3.13'
options: 'freethreaded+pgo'
- target_triple: 'aarch64-apple-darwin'
runner: macos-14
py: 'cpython-3.13'
options: 'freethreaded+pgo+lto'

# macOS on Intel hardware. This is pretty straightforward. We exclude
# noopt because it doesn't provide any compelling advantages over PGO
# or LTO builds.
- target_triple: 'x86_64-apple-darwin'
runner: macos-13
py: 'cpython-3.8'
optimizations: 'debug'
options: 'debug'
- target_triple: 'x86_64-apple-darwin'
runner: macos-13
py: 'cpython-3.8'
optimizations: 'pgo'
options: 'pgo'
- target_triple: 'x86_64-apple-darwin'
runner: macos-13
py: 'cpython-3.8'
optimizations: 'pgo+lto'
options: 'pgo+lto'

- target_triple: 'x86_64-apple-darwin'
runner: macos-13
py: 'cpython-3.9'
optimizations: 'debug'
options: 'debug'
- target_triple: 'x86_64-apple-darwin'
runner: macos-13
py: 'cpython-3.9'
optimizations: 'pgo'
options: 'pgo'
- target_triple: 'x86_64-apple-darwin'
runner: macos-13
py: 'cpython-3.9'
optimizations: 'pgo+lto'
options: 'pgo+lto'

- target_triple: 'x86_64-apple-darwin'
runner: macos-13
py: 'cpython-3.10'
optimizations: 'debug'
options: 'debug'
- target_triple: 'x86_64-apple-darwin'
runner: macos-13
py: 'cpython-3.10'
optimizations: 'pgo'
options: 'pgo'
- target_triple: 'x86_64-apple-darwin'
runner: macos-13
py: 'cpython-3.10'
optimizations: 'pgo+lto'
options: 'pgo+lto'

- target_triple: 'x86_64-apple-darwin'
runner: macos-13
py: 'cpython-3.11'
optimizations: 'debug'
options: 'debug'
- target_triple: 'x86_64-apple-darwin'
runner: macos-13
py: 'cpython-3.11'
optimizations: 'pgo'
options: 'pgo'
- target_triple: 'x86_64-apple-darwin'
runner: macos-13
py: 'cpython-3.11'
optimizations: 'pgo+lto'
options: 'pgo+lto'

- target_triple: 'x86_64-apple-darwin'
runner: macos-13
py: 'cpython-3.12'
optimizations: 'debug'
options: 'debug'
- target_triple: 'x86_64-apple-darwin'
runner: macos-13
py: 'cpython-3.12'
optimizations: 'pgo'
options: 'pgo'
- target_triple: 'x86_64-apple-darwin'
runner: macos-13
py: 'cpython-3.12'
optimizations: 'pgo+lto'
options: 'pgo+lto'

- target_triple: 'x86_64-apple-darwin'
runner: macos-13
py: 'cpython-3.13'
optimizations: 'debug'
options: 'debug'
- target_triple: 'x86_64-apple-darwin'
runner: macos-13
py: 'cpython-3.13'
options: 'pgo'
- target_triple: 'x86_64-apple-darwin'
runner: macos-13
py: 'cpython-3.13'
options: 'pgo+lto'
- target_triple: 'x86_64-apple-darwin'
runner: macos-13
py: 'cpython-3.13'
options: 'freethreaded+debug'
- target_triple: 'x86_64-apple-darwin'
runner: macos-13
py: 'cpython-3.13'
optimizations: 'pgo'
options: 'freethreaded+pgo'
- target_triple: 'x86_64-apple-darwin'
runner: macos-13
py: 'cpython-3.13'
optimizations: 'pgo+lto'
options: 'freethreaded+pgo+lto'
needs:
- pythonbuild
runs-on: ${{ matrix.build.runner }}
Expand Down Expand Up @@ -232,12 +257,12 @@ jobs:
exit 1
fi
./build-macos.py --target-triple ${{ matrix.build.target_triple }} --python ${{ matrix.build.py }} --optimizations ${{ matrix.build.optimizations }}
./build-macos.py --target-triple ${{ matrix.build.target_triple }} --python ${{ matrix.build.py }} --options ${{ matrix.build.options }}
- name: Upload Distributions
uses: actions/upload-artifact@v4
with:
name: ${{ matrix.build.py }}-${{ matrix.build.target_triple }}-${{ matrix.build.optimizations }}
name: ${{ matrix.build.py }}-${{ matrix.build.target_triple }}-${{ matrix.build.options }}
path: dist/*

- uses: actions/checkout@v4
Expand Down
Loading

0 comments on commit 8f9eea7

Please sign in to comment.