Skip to content

Commit 8343ac2

Browse files
committed
Build wheels for Python 3.13
1 parent 66f2097 commit 8343ac2

File tree

2 files changed

+55
-12
lines changed

2 files changed

+55
-12
lines changed

.circleci/config.yml

Lines changed: 47 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -42,8 +42,9 @@ commands:
4242
- run:
4343
name: Upgrade pyenv
4444
command: |
45-
rm -rf /opt/circleci/.pyenv
46-
curl -L https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-installer | bash
45+
sudo rm -rf /opt/circleci/.pyenv
46+
sudo bash -c 'curl -L https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-installer | PYENV_ROOT=/opt/circleci/.pyenv bash'
47+
sudo chmod -R 777 /opt/circleci/.pyenv/
4748
pyenv install --list list
4849
- run:
4950
name: Use pyenv to install python
@@ -66,7 +67,7 @@ jobs:
6667
py38:
6768
working_directory: ~/project
6869
machine:
69-
image: ubuntu-2004:202111-02
70+
image: ubuntu-2004:current
7071
steps:
7172
- checkout
7273
- upgradepython:
@@ -92,7 +93,7 @@ jobs:
9293
py39:
9394
working_directory: ~/project
9495
machine:
95-
image: ubuntu-2004:202111-02
96+
image: ubuntu-2004:current
9697
steps:
9798
- checkout
9899
- upgradepython:
@@ -118,7 +119,7 @@ jobs:
118119
py310:
119120
working_directory: ~/project
120121
machine:
121-
image: ubuntu-2004:202111-02
122+
image: ubuntu-2004:current
122123
steps:
123124
- checkout
124125
- upgradepython:
@@ -144,7 +145,7 @@ jobs:
144145
py311:
145146
working_directory: ~/project
146147
machine:
147-
image: ubuntu-2004:202111-02
148+
image: ubuntu-2004:current
148149
steps:
149150
- checkout
150151
- upgradepython:
@@ -170,7 +171,7 @@ jobs:
170171
py312:
171172
working_directory: ~/project
172173
machine:
173-
image: ubuntu-2004:202111-02
174+
image: ubuntu-2004:current
174175
steps:
175176
- checkout
176177
- upgradepython:
@@ -193,6 +194,32 @@ jobs:
193194
paths:
194195
- ./.tox/externaldata
195196
- coverage
197+
py313:
198+
working_directory: ~/project
199+
machine:
200+
image: ubuntu-2004:current
201+
steps:
202+
- checkout
203+
- upgradepython:
204+
version: "3.13"
205+
- run:
206+
name: Use pyenv to set python version
207+
command: |
208+
pyenv versions
209+
pyenv global 3.13
210+
- docker-compose
211+
- restore_cache:
212+
name: Restore external data cache
213+
keys:
214+
- tox-externaldata-{{ checksum "tests/datastore.py" }}
215+
- tox:
216+
env: py313
217+
- save_cache:
218+
name: Save external data cache
219+
key: tox-externaldata-{{ checksum "tests/datastore.py" }}
220+
paths:
221+
- ./.tox/externaldata
222+
- coverage
196223
lint_and_docs:
197224
working_directory: ~/project
198225
docker:
@@ -212,7 +239,7 @@ jobs:
212239
docker:
213240
working_directory: ~/project
214241
machine:
215-
image: ubuntu-2004:202111-02
242+
image: ubuntu-2004:current
216243
steps:
217244
- checkout
218245
- run:
@@ -244,7 +271,7 @@ jobs:
244271
publish_docker:
245272
working_directory: ~/project
246273
machine:
247-
image: ubuntu-2004:202111-02
274+
image: ubuntu-2004:current
248275
steps:
249276
- checkout
250277
- attach_workspace:
@@ -364,6 +391,13 @@ workflows:
364391
branches:
365392
ignore:
366393
- gh-pages
394+
- py313:
395+
filters:
396+
tags:
397+
only: /^v.*/
398+
branches:
399+
ignore:
400+
- gh-pages
367401
- lint_and_docs:
368402
filters:
369403
tags:
@@ -392,6 +426,7 @@ workflows:
392426
- py310
393427
- py311
394428
- py312
429+
- py313
395430
- lint_and_docs
396431
- wheels
397432
- docker
@@ -409,6 +444,7 @@ workflows:
409444
- py310
410445
- py311
411446
- py312
447+
- py313
412448
- lint_and_docs
413449
- docker
414450
- wheels
@@ -433,6 +469,7 @@ workflows:
433469
- py310
434470
- py311
435471
- py312
472+
- py313
436473
- lint_and_docs
437474
- docker
438475
- wheels
@@ -443,6 +480,7 @@ workflows:
443480
- py310
444481
- py311
445482
- py312
483+
- py313
446484
- lint_and_docs
447485
- docker
448486
- wheels

.github/workflows/ci.yml

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ jobs:
2222
if: github.repository == 'DigitalSlideArchive/HistomicsTK' && ( startsWith(github.ref, 'refs/tags/v') || github.ref == 'refs/heads/master' )
2323
strategy:
2424
matrix:
25-
python: ["3.8", "3.9", "3.10", "3.11", "3.12"]
25+
python: ["3.8", "3.9", "3.10", "3.11", "3.12", "3.13"]
2626
steps:
2727
- uses: actions/checkout@v4
2828
- uses: actions/setup-python@v5
@@ -65,10 +65,10 @@ jobs:
6565
matrix:
6666
# See matplotlib for some of the rationale of this
6767
buildplat:
68-
- [ubuntu-latest, x86_64]
68+
- [ubuntu-latest, "x86_64 aarch64"]
6969
- [macos-latest, "x86_64 arm64"]
7070
- [windows-latest, auto64]
71-
python: ["cp38", "cp39", "cp310", "cp311", "cp312"]
71+
python: ["cp38", "cp39", "cp310", "cp311", "cp312", "cp313"]
7272
fail-fast: false
7373

7474
steps:
@@ -81,10 +81,15 @@ jobs:
8181
with:
8282
python-version: "3.x"
8383

84+
- name: Set up QEMU
85+
if: runner.os == 'Linux'
86+
uses: docker/setup-qemu-action@v3
87+
8488
- name: Build wheels
8589
uses: pypa/[email protected]
8690
env:
8791
CIBW_BUILD: ${{ matrix.python }}-*
92+
CIBW_SKIP: "cp38-musllinux_aarch64"
8893
CIBW_TEST_SKIP: "*-macosx_arm64"
8994
CIBW_ARCHS: ${{ matrix.buildplat[1] }}
9095
MACOSX_DEPLOYMENT_TARGET: "10.12"

0 commit comments

Comments
 (0)