Skip to content

WIP: Python 3.13 support #6

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 33 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
33 commits
Select commit Hold shift + click to select a range
fa73b91
Support for Python 3.13.
kpfleming May 18, 2024
3e0c7bc
Update to 3.13.0b2.
kpfleming Jun 6, 2024
b1a3f73
Handle `run_tests.py` removal in Python 3.13
zanieb Jun 6, 2024
a3a8860
Add `_testinternalcapi` to `OBJECT_DIRS`
zanieb Jun 6, 2024
0bad18f
Update to Python 3.13.0rc1.
kpfleming Aug 2, 2024
970f028
Update extensions validator for 3.13.
kpfleming Aug 3, 2024
084c8d4
Fix missing macOS framework for tcl/tk
zanieb Sep 4, 2024
10ee020
Bump minimum macOS version from `10.9` to `10.13` for `x86_64-apple-d…
zanieb Sep 4, 2024
d33c58b
Attempt to disable system libmpdec on Windows
zanieb Sep 4, 2024
9cacdcc
Revert "Fix missing macOS framework for tcl/tk"
zanieb Sep 4, 2024
be59689
TMP: Shrink matrix
zanieb Sep 4, 2024
7c3c95d
Apply multiarch patch more broadly
zanieb Sep 5, 2024
931009e
Attempt to set multiarch to a constant instead of disabling
zanieb Sep 5, 2024
1d8da17
Fix libpython symlink on `x86_64-unknown-linux-musl`
zanieb Sep 5, 2024
f126b0a
TMP: Display target triple
zanieb Sep 5, 2024
4a78a31
Fix `PYTHON_ARCH` for `x86_64-unknown-linux` musl-clang cross compiles
zanieb Sep 5, 2024
2110d43
Build `mpdecimal` on Windows and fix Python 3.13 validation (#7)
zanieb Sep 5, 2024
32da092
Allow `_suggestsions` and `_testexternalinspection` during Python 3.1…
zanieb Sep 5, 2024
3a69e62
Fix handling of `_PyWarnings_Init` on non-Windows
zanieb Sep 5, 2024
4a3d368
Only apply `PYTHON_ARCH` change on 3.13
zanieb Sep 5, 2024
e919753
Allow `_suggestsions` and `_testexternalinspection` during Python 3.1…
zanieb Sep 5, 2024
f442d4d
Bump expected macOS version tag
zanieb Sep 5, 2024
4c7b4a5
Bump target minimum macOS version from 10.13.0 to 10.13.4
zanieb Sep 5, 2024
520e9d3
Disable BOLT on 3.13+
zanieb Sep 5, 2024
367e0f6
Fix Python 3.13 builds on macOS (#8)
zanieb Sep 6, 2024
0eadea0
Update fixme
zanieb Sep 6, 2024
5cf6656
Try using disable patch instead of musl-specific one
zanieb Sep 6, 2024
a3453e0
Update comment
zanieb Sep 6, 2024
c019911
Update comment
zanieb Sep 6, 2024
ec025d5
Update comment
zanieb Sep 6, 2024
aef600b
Update comment
zanieb Sep 6, 2024
c5349cc
Update comment
zanieb Sep 6, 2024
dbd279b
Include `run_tests.py` on 3.13
zanieb Sep 6, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
194 changes: 110 additions & 84 deletions .github/workflows/apple.yml
Original file line number Diff line number Diff line change
Expand Up @@ -49,137 +49,163 @@ jobs:
fail-fast: false
matrix:
build:
- target_triple: 'aarch64-apple-darwin'
runner: macos-14
py: 'cpython-3.8'
optimizations: 'debug'
- target_triple: 'aarch64-apple-darwin'
runner: macos-14
py: 'cpython-3.8'
optimizations: 'pgo'
- target_triple: 'aarch64-apple-darwin'
runner: macos-14
py: 'cpython-3.8'
optimizations: 'pgo+lto'
# - target_triple: 'aarch64-apple-darwin'
# runner: macos-14
# py: 'cpython-3.8'
# optimizations: 'debug'
# - target_triple: 'aarch64-apple-darwin'
# runner: macos-14
# py: 'cpython-3.8'
# optimizations: 'pgo'
# - target_triple: 'aarch64-apple-darwin'
# runner: macos-14
# py: 'cpython-3.8'
# optimizations: 'pgo+lto'

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

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

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

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

- target_triple: 'aarch64-apple-darwin'
runner: macos-14
py: 'cpython-3.12'
py: 'cpython-3.13'
optimizations: 'debug'
- target_triple: 'aarch64-apple-darwin'
runner: macos-14
py: 'cpython-3.12'
py: 'cpython-3.13'
optimizations: 'pgo'
- target_triple: 'aarch64-apple-darwin'
runner: macos-14
py: 'cpython-3.12'
py: 'cpython-3.13'
optimizations: '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'
- target_triple: 'x86_64-apple-darwin'
runner: macos-13
py: 'cpython-3.8'
optimizations: 'pgo'
- target_triple: 'x86_64-apple-darwin'
runner: macos-13
py: 'cpython-3.8'
optimizations: 'pgo+lto'
# - target_triple: 'x86_64-apple-darwin'
# runner: macos-13
# py: 'cpython-3.8'
# optimizations: 'debug'
# - target_triple: 'x86_64-apple-darwin'
# runner: macos-13
# py: 'cpython-3.8'
# optimizations: 'pgo'
# - target_triple: 'x86_64-apple-darwin'
# runner: macos-13
# py: 'cpython-3.8'
# optimizations: 'pgo+lto'

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

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

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

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

- target_triple: 'x86_64-apple-darwin'
runner: macos-13
py: 'cpython-3.12'
py: 'cpython-3.13'
optimizations: 'debug'
- target_triple: 'x86_64-apple-darwin'
runner: macos-13
py: 'cpython-3.12'
py: 'cpython-3.13'
optimizations: 'pgo'
- target_triple: 'x86_64-apple-darwin'
runner: macos-13
py: 'cpython-3.12'
py: 'cpython-3.13'
optimizations: 'pgo+lto'
needs:
- pythonbuild
Expand Down
Loading