Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
22 changes: 6 additions & 16 deletions .github/workflows/packages.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,21 +28,19 @@ jobs:
fail-fast: false
matrix:
os: [ubuntu-24.04, windows-latest, macos-latest]
pyver: [cp38, cp39, cp310, cp311, cp312, cp313, cp313t]
pyver: [cp38, cp39, cp310, cp311, cp312, cp313, cp313t, cp314, cp314t]

steps:
- name: Checkout repos
uses: actions/checkout@v4

- name: Build wheels
uses: pypa/cibuildwheel@v2.23.3
uses: pypa/cibuildwheel@v3.1.4
env:
CIBW_BUILD: ${{matrix.pyver}}-*
CIBW_ENABLE: cpython-freethreading
CIBW_ARCHS_LINUX: auto
CIBW_ARCHS_MACOS: auto universal2
CIBW_ARCHS_WINDOWS: auto
CIBW_TEST_EXTRAS: test
CIBW_TEST_COMMAND: pytest --color=yes -m 'not embedded' {project}/tests
# Passing a space in a param is a b*tch on windows.
# However embedded tests are skipped anyway there.
Expand All @@ -52,7 +50,6 @@ jobs:
CIBW_TEST_SKIP: >-
*-musllinux_*
*-macosx_universal2:arm64
pp*-macosx_*

- name: Upload artifacts
uses: actions/upload-artifact@v4
Expand All @@ -66,7 +63,7 @@ jobs:
strategy:
fail-fast: false
matrix:
pyver: [cp38, cp39, cp310, cp311, cp312, cp313, cp313t]
pyver: [cp38, cp39, cp310, cp311, cp312, cp313, cp313t, cp314, cp314t]
arch: [aarch64, ppc64le]

steps:
Expand All @@ -77,10 +74,9 @@ jobs:
uses: docker/setup-qemu-action@v3

- name: Build wheels
uses: pypa/cibuildwheel@v2.23.3
uses: pypa/cibuildwheel@v3.1.4
env:
CIBW_BUILD: ${{matrix.pyver}}-*
CIBW_ENABLE: cpython-freethreading
CIBW_ARCHS: ${{matrix.arch}}

# Tests mostly fail because of some confusion with the python interpreter
Expand All @@ -104,11 +100,9 @@ jobs:
uses: actions/checkout@v4

- name: Build wheels
uses: pypa/cibuildwheel@v2.21.2
uses: pypa/cibuildwheel@v3.1.4
env:
CIBW_BUILD: pp*
CIBW_SKIP: pp37-*
CIBW_TEST_EXTRAS: test
CIBW_TEST_COMMAND: pytest --color=yes -m 'not embedded' {project}/tests
# Passing a space in a param is a b*tch on windows.
# However embedded tests are skipped anyway there.
Expand All @@ -117,7 +111,6 @@ jobs:
# cross-build macos images can't be tested on this runner.
CIBW_TEST_SKIP: >-
*-musllinux_*
*-macosx_universal2:arm64
pp*-macosx_*

- name: Upload artifacts
Expand All @@ -129,8 +122,6 @@ jobs:

build-cross-wheel-pypy:
runs-on: ubuntu-24.04
strategy:
fail-fast: false

steps:
- name: Checkout repos
Expand All @@ -140,10 +131,9 @@ jobs:
uses: docker/setup-qemu-action@v3

- name: Build wheels
uses: pypa/cibuildwheel@v2.21.2
uses: pypa/cibuildwheel@v3.1.4
env:
CIBW_BUILD: pp*
CIBW_SKIP: pp37-*

# Tests mostly fail because of some confusion with the python interpreter

Expand Down
6 changes: 6 additions & 0 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,8 @@ jobs:
- "3.12"
- "3.13"
- "3.13t"
- "3.14"
- "3.14t"
- "pypy-3.8"
- "pypy-3.9"
- "pypy-3.10"
Expand Down Expand Up @@ -60,6 +62,8 @@ jobs:
- "3.12"
- "3.13"
- "3.13t"
- "3.14"
- "3.14t"
architecture: ['x64', 'x86']

steps:
Expand Down Expand Up @@ -90,6 +94,8 @@ jobs:
- "3.12"
- "3.13"
- "3.13t"
- "3.14"
- "3.14t"
os:
- macos-latest
include:
Expand Down
7 changes: 7 additions & 0 deletions pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,2 +1,9 @@
[tool.black]
line-length = 79

[tool.cibuildwheel]
enable = [
"cpython-freethreading", # Only needed for 3.13t, where it was still experimental
"pypy",
]
test-extras = ["test"]
1 change: 1 addition & 0 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,7 @@
Programming Language :: Python :: 3.11
Programming Language :: Python :: 3.12
Programming Language :: Python :: 3.13
Programming Language :: Python :: 3.14
Operating System :: POSIX :: Linux
Operating System :: POSIX :: BSD
Operating System :: MacOS :: MacOS X
Expand Down
11 changes: 10 additions & 1 deletion tox.ini
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
[tox]
envlist = 3.8, 3.9, 3.10, 3.11, 3.12, 3.13, 3.13t, pypy-3.8, pypy-3.9, pypy-3.10
envlist = 3.8, 3.9, 3.10, 3.11, 3.12, 3.13, 3.13t, 3.14, 3.14t, pypy-3.8, pypy-3.9, pypy-3.10, pypy-3.11

[testenv]
commands =
Expand Down Expand Up @@ -28,6 +28,12 @@ basepython = python3.13
[testenv:3.13t]
basepython = python3.13t

[testenv:3.14]
basepython = python3.14

[testenv:3.14t]
basepython = python3.14t

[testenv:pypy-3.8]
basepython = pypy3.8

Expand All @@ -37,5 +43,8 @@ basepython = pypy3.9
[testenv:pypy-3.10]
basepython = pypy3.10

[testenv:pypy-3.11]
basepython = pypy3.11

[testenv:xcode]
basepython = {env:XCODE_PYTHON}
Loading