@@ -17,13 +17,13 @@ jobs:
17
17
- uses : actions/checkout@master
18
18
- uses : actions/setup-python@master
19
19
with :
20
- python-version : 3.12
21
- - run : pip install -r requirements-build-3_12 .txt
20
+ python-version : 3.13
21
+ - run : pip install -r requirements-build-3_13 .txt
22
22
- run : python setup.py sdist
23
- - uses : actions/upload-artifact@v3
23
+ - uses : actions/upload-artifact@v4
24
24
with :
25
- name : dist
26
- path : dist
25
+ name : dist-sdist
26
+ path : dist/*
27
27
28
28
matrix_config :
29
29
name : Matrix Runner Config
@@ -41,19 +41,22 @@ jobs:
41
41
fi
42
42
43
43
wheels :
44
- name : Build / ${{ matrix.os }} / Python 3.${{ matrix.python.minor }}
44
+ name : Build / ${{ matrix.os }} / Python 3.${{ matrix.python.minor }} / FT${{ matrix.python.ft }}
45
45
needs : matrix_config
46
46
strategy :
47
47
fail-fast : false
48
48
matrix :
49
49
os : ${{ fromJson(needs.matrix_config.outputs.matrix_os) }}
50
50
python :
51
- - {minor: 9, req_build: 'requirements-build-3_11.txt', req_test: 'requirements-dev-3_11.txt'}
52
- - {minor: 10, req_build: 'requirements-build-3_11.txt', req_test: 'requirements-dev-3_11.txt'}
53
- - {minor: 11, req_build: 'requirements-build-3_11.txt', req_test: 'requirements-dev-3_11.txt'}
54
- - {minor: 12, req_build: 'requirements-build-3_12.txt', req_test: 'requirements-dev-3_12.txt'}
51
+ - {minor: 10, req_build: 'requirements-build-3_11.txt', req_test: 'requirements-dev-3_11.txt', ft: '0'}
52
+ - {minor: 11, req_build: 'requirements-build-3_11.txt', req_test: 'requirements-dev-3_11.txt', ft: '0'}
53
+ - {minor: 12, req_build: 'requirements-build-3_12.txt', req_test: 'requirements-dev-3_12.txt', ft: '0'}
54
+ - {minor: 13, req_build: 'requirements-build-3_13.txt', req_test: 'requirements-dev-3_13.txt', ft: '0'}
55
+ - {minor: 13t, req_build: 'requirements-build-3_13.txt', req_test: 'requirements-dev-3_13.txt', ft: '1'}
55
56
56
57
runs-on : ${{ matrix.os }}
58
+ outputs :
59
+ artifact_names : ${{ steps.record_artifacts.outputs.artifact_names }}
57
60
steps :
58
61
- uses : actions/checkout@master
59
62
- uses : actions/setup-python@master
62
65
- run : echo '::add-matcher::.github/problem-matchers/msvc.json'
63
66
if : startsWith(matrix.os, 'windows-')
64
67
65
- - uses : pypa/cibuildwheel@v2.18.0
68
+ - uses : pypa/cibuildwheel@v2.23.3
66
69
if : matrix.os != 'macos-13-xlarge'
67
70
with :
68
71
output-dir : dist
@@ -73,10 +76,11 @@ jobs:
73
76
CIBW_BEFORE_BUILD : pip install -r {project}/${{ matrix.python.req_build }}
74
77
CIBW_BEFORE_TEST : pip install -r {project}/${{ matrix.python.req_test }}
75
78
CIBW_TEST_COMMAND : pytest {project}/test
79
+ CIBW_ENABLE : ${{ matrix.python.ft == '1' && 'cpython-freethreading' || '' }}
76
80
77
81
- run : pip install pipx
78
82
if : matrix.os == 'macos-13-xlarge'
79
- - uses : pypa/cibuildwheel@v2.18.0
83
+ - uses : pypa/cibuildwheel@v2.23.3
80
84
if : matrix.os == 'macos-13-xlarge'
81
85
with :
82
86
output-dir : dist
@@ -85,23 +89,26 @@ jobs:
85
89
CIBW_BEFORE_BUILD : pip install -r {project}/${{ matrix.python.req_build }}
86
90
CIBW_BEFORE_TEST : pip install -r {project}/${{ matrix.python.req_test }}
87
91
CIBW_TEST_COMMAND : pytest {project}/test
92
+ CIBW_ENABLE : ${{ matrix.python.ft == '1' && 'cpython-freethreading' || '' }}
88
93
89
- - uses : actions/upload-artifact@v3
94
+ - uses : actions/upload-artifact@v4
90
95
with :
91
- name : dist
92
- path : dist
96
+ name : dist-wheels-${{ matrix.os }}-py3${{ matrix.python.minor }}-t${{ matrix.python.ft }} # Unique artifact name
97
+ path : dist/*
93
98
94
99
upload :
95
100
name : Publish
96
101
if : github.event_name == 'release'
97
102
needs : [tar_gz, wheels]
98
103
runs-on : ubuntu-22.04
99
104
steps :
100
- - uses : actions/download-artifact@v3
105
+ - uses : actions/download-artifact@v4
101
106
with :
102
- name : dist
107
+ # leave out name to get all
103
108
path : dist
104
- - uses : pypa/gh-action-pypi-publish@master
109
+ merge-multiple : true
110
+
111
+ - uses : pypa/gh-action-pypi-publish@release/v1
105
112
with :
106
113
password : ${{ secrets.PYPI_TOKEN }}
107
- skip_existing : true
114
+ skip-existing : true
0 commit comments