Skip to content

Commit 4638bf4

Browse files
committed
Drop python 3.9, add Python 3.15 CI
1 parent a0178d8 commit 4638bf4

1 file changed

Lines changed: 49 additions & 35 deletions

File tree

.github/workflows/ci.yaml

Lines changed: 49 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -72,72 +72,76 @@ jobs:
7272
matrix_yaml: |
7373
include:
7474
# x86_64 manylinux
75-
- { spec: cp39-manylinux_x86_64, arch: x86_64, omit: ${{ env.skip_ci_redundant_jobs }} }
7675
- { spec: cp310-manylinux_x86_64, arch: x86_64, omit: ${{ env.skip_ci_redundant_jobs }} }
7776
- { spec: cp311-manylinux_x86_64, arch: x86_64, omit: ${{ env.skip_ci_redundant_jobs }} }
7877
- { spec: cp312-manylinux_x86_64, arch: x86_64, omit: ${{ env.skip_ci_redundant_jobs }} }
7978
- { spec: cp313-manylinux_x86_64, arch: x86_64, omit: ${{ env.skip_ci_redundant_jobs }} }
80-
- { spec: cp314-manylinux_x86_64, arch: x86_64 }
81-
- { spec: cp314t-manylinux_x86_64, arch: x86_64 }
79+
- { spec: cp314-manylinux_x86_64, arch: x86_64, omit: ${{ env.skip_ci_redundant_jobs }} }
80+
- { spec: cp314t-manylinux_x86_64, arch: x86_64, omit: ${{ env.skip_ci_redundant_jobs }} }
81+
- { spec: cp315-manylinux_x86_64, arch: x86_64 }
82+
- { spec: cp315t-manylinux_x86_64, arch: x86_64 }
8283
8384
# x86_64 musllinux
84-
- { spec: cp39-musllinux_x86_64, arch: x86_64, omit: ${{ env.skip_ci_redundant_jobs }} }
8585
- { spec: cp310-musllinux_x86_64, arch: x86_64, omit: ${{ env.skip_ci_redundant_jobs }} }
8686
- { spec: cp311-musllinux_x86_64, arch: x86_64, omit: ${{ env.skip_ci_redundant_jobs }} }
8787
- { spec: cp312-musllinux_x86_64, arch: x86_64, omit: ${{ env.skip_ci_redundant_jobs }} }
8888
- { spec: cp313-musllinux_x86_64, arch: x86_64, omit: ${{ env.skip_ci_redundant_jobs }} }
89-
- { spec: cp314-musllinux_x86_64, arch: x86_64 }
90-
- { spec: cp314t-musllinux_x86_64, arch: x86_64 }
89+
- { spec: cp314-musllinux_x86_64, arch: x86_64, omit: ${{ env.skip_ci_redundant_jobs }} }
90+
- { spec: cp314t-musllinux_x86_64, arch: x86_64, omit: ${{ env.skip_ci_redundant_jobs }} }
91+
- { spec: cp315-musllinux_x86_64, arch: x86_64 }
92+
- { spec: cp315t-musllinux_x86_64, arch: x86_64 }
9193
9294
# i686 manylinux
93-
- { spec: cp39-manylinux_i686, arch: i686, omit: ${{ env.skip_ci_redundant_jobs }} }
9495
- { spec: cp310-manylinux_i686, arch: i686, omit: ${{ env.skip_ci_redundant_jobs }} }
9596
- { spec: cp311-manylinux_i686, arch: i686, omit: ${{ env.skip_ci_redundant_jobs }} }
9697
- { spec: cp312-manylinux_i686, arch: i686, omit: ${{ env.skip_ci_redundant_jobs }} }
9798
- { spec: cp313-manylinux_i686, arch: i686 }
9899
# omit i686 releases > 3.13
99100
100101
# i686 musllinux
101-
- { spec: cp39-musllinux_i686, arch: i686, omit: ${{ env.skip_ci_redundant_jobs }} }
102102
- { spec: cp310-musllinux_i686, arch: i686, omit: ${{ env.skip_ci_redundant_jobs }} }
103103
- { spec: cp311-musllinux_i686, arch: i686 }
104104
# omit i686 releases after 3.11
105105
106106
# aarch64 manylinux
107-
- { spec: cp39-manylinux_aarch64, arch: aarch64 }
108107
- { spec: cp310-manylinux_aarch64, arch: aarch64, omit: ${{ env.skip_ci_redundant_jobs }} }
109108
- { spec: cp311-manylinux_aarch64, arch: aarch64, omit: ${{ env.skip_ci_redundant_jobs }} }
110109
- { spec: cp312-manylinux_aarch64, arch: aarch64, omit: ${{ env.skip_ci_redundant_jobs }} }
111110
- { spec: cp313-manylinux_aarch64, arch: aarch64, omit: ${{ env.skip_ci_redundant_jobs }} }
112-
- { spec: cp314-manylinux_aarch64, arch: aarch64 }
113-
- { spec: cp314t-manylinux_aarch64, arch: aarch64 }
111+
- { spec: cp314-manylinux_aarch64, arch: aarch64, omit: ${{ env.skip_ci_redundant_jobs }} }
112+
- { spec: cp314t-manylinux_aarch64, arch: aarch64, omit: ${{ env.skip_ci_redundant_jobs }} }
113+
- { spec: cp315-manylinux_aarch64, arch: aarch64 }
114+
- { spec: cp315t-manylinux_aarch64, arch: aarch64 }
114115
115116
# aarch64 musllinux
116-
- { spec: cp39-musllinux_aarch64, arch: aarch64, omit: ${{ env.skip_ci_redundant_jobs }} }
117117
- { spec: cp310-musllinux_aarch64, arch: aarch64, omit: ${{ env.skip_ci_redundant_jobs }} }
118118
- { spec: cp311-musllinux_aarch64, arch: aarch64, omit: ${{ env.skip_ci_redundant_jobs }} }
119119
- { spec: cp312-musllinux_aarch64, arch: aarch64, omit: ${{ env.skip_ci_redundant_jobs }} }
120120
- { spec: cp313-musllinux_aarch64, arch: aarch64, omit: ${{ env.skip_ci_redundant_jobs }} }
121-
- { spec: cp314-musllinux_aarch64, arch: aarch64 }
122-
- { spec: cp314t-musllinux_aarch64, arch: aarch64 }
121+
- { spec: cp314-musllinux_aarch64, arch: aarch64, omit: ${{ env.skip_ci_redundant_jobs }} }
122+
- { spec: cp314t-musllinux_aarch64, arch: aarch64, omit: ${{ env.skip_ci_redundant_jobs }} }
123+
- { spec: cp315-musllinux_aarch64, arch: aarch64 }
124+
- { spec: cp315t-musllinux_aarch64, arch: aarch64 }
123125
124126
# ppc64le manylinux
125-
- { spec: cp39-manylinux_ppc64le, arch: ppc64le, test_args: '{package}/src/c', omit: ${{ env.skip_slow_jobs }} }
126-
- { spec: cp310-manylinux_ppc64le, arch: ppc64le, test_args: '{package}/src/c', omit: ${{ env.skip_slow_jobs || env.skip_ci_redundant_jobs }} }
127+
- { spec: cp310-manylinux_ppc64le, arch: ppc64le, test_args: '{package}/src/c', omit: ${{ env.skip_slow_jobs }} }
127128
- { spec: cp311-manylinux_ppc64le, arch: ppc64le, test_args: '{package}/src/c', omit: ${{ env.skip_slow_jobs || env.skip_ci_redundant_jobs }} }
128129
- { spec: cp312-manylinux_ppc64le, arch: ppc64le, test_args: '{package}/src/c', omit: ${{ env.skip_slow_jobs || env.skip_ci_redundant_jobs }} }
129130
- { spec: cp313-manylinux_ppc64le, arch: ppc64le, test_args: '{package}/src/c', omit: ${{ env.skip_slow_jobs || env.skip_ci_redundant_jobs }} }
130-
- { spec: cp314-manylinux_ppc64le, arch: ppc64le, omit: ${{ env.skip_slow_jobs }} }
131-
- { spec: cp314t-manylinux_ppc64le, arch: ppc64le, omit: ${{ env.skip_slow_jobs }} }
131+
- { spec: cp314-manylinux_ppc64le, arch: ppc64le, omit: ${{ env.skip_slow_jobs }} omit: ${{ env.skip_slow_jobs || env.skip_ci_redundant_jobs }} }
132+
- { spec: cp314t-manylinux_ppc64le, arch: ppc64le, omit: ${{ env.skip_slow_jobs }} omit: ${{ env.skip_slow_jobs || env.skip_ci_redundant_jobs }} }
133+
- { spec: cp315-manylinux_ppc64le, arch: ppc64le, omit: ${{ env.skip_slow_jobs }} }
134+
- { spec: cp315t-manylinux_ppc64le, arch: ppc64le, omit: ${{ env.skip_slow_jobs }} }
132135
133136
# s390x manylinux
134-
- { spec: cp39-manylinux_s390x, arch: s390x, test_args: '{package}/src/c', omit: ${{ env.skip_slow_jobs }} }
135-
- { spec: cp310-manylinux_s390x, arch: s390x, test_args: '{package}/src/c', omit: ${{ env.skip_slow_jobs || env.skip_ci_redundant_jobs }} }
137+
- { spec: cp310-manylinux_s390x, arch: s390x, test_args: '{package}/src/c', omit: ${{ env.skip_slow_jobs }} }
136138
- { spec: cp311-manylinux_s390x, arch: s390x, test_args: '{package}/src/c', omit: ${{ env.skip_slow_jobs || env.skip_ci_redundant_jobs }} }
137139
- { spec: cp312-manylinux_s390x, arch: s390x, test_args: '{package}/src/c', omit: ${{ env.skip_slow_jobs || env.skip_ci_redundant_jobs }} }
138140
- { spec: cp313-manylinux_s390x, arch: s390x, test_args: '{package}/src/c', omit: ${{ env.skip_slow_jobs || env.skip_ci_redundant_jobs }} }
139-
- { spec: cp314-manylinux_s390x, arch: s390x, omit: ${{ env.skip_slow_jobs }} }
140-
- { spec: cp314t-manylinux_s390x, arch: s390x, omit: ${{ env.skip_slow_jobs }} }
141+
- { spec: cp314-manylinux_s390x, arch: s390x, omit: ${{ env.skip_slow_jobs || env.skip_ci_redundant_jobs }} }
142+
- { spec: cp314t-manylinux_s390x, arch: s390x, omit: ${{ env.skip_slow_jobs || env.skip_ci_redundant_jobs }} }
143+
- { spec: cp315-manylinux_s390x, arch: s390x, omit: ${{ env.skip_slow_jobs }} }
144+
- { spec: cp315t-manylinux_s390x, arch: s390x, omit: ${{ env.skip_slow_jobs }} }
141145
142146
linux:
143147
needs: [python_sdist, make_linux_matrix]
@@ -218,22 +222,24 @@ jobs:
218222
matrix_yaml: |
219223
include:
220224
# x86_64 macos
221-
- { spec: cp39-macosx_x86_64, runs_on: [macos-15-intel], omit: ${{ env.skip_ci_redundant_jobs }} }
222225
- { spec: cp310-macosx_x86_64, runs_on: [macos-15-intel], omit: ${{ env.skip_ci_redundant_jobs }} }
223226
- { spec: cp311-macosx_x86_64, runs_on: [macos-15-intel], omit: ${{ env.skip_ci_redundant_jobs }} }
224227
- { spec: cp312-macosx_x86_64, runs_on: [macos-15-intel], omit: ${{ env.skip_ci_redundant_jobs }} }
225228
- { spec: cp313-macosx_x86_64, runs_on: [macos-15-intel], omit: ${{ env.skip_ci_redundant_jobs }} }
226-
- { spec: cp314-macosx_x86_64, runs_on: [macos-15-intel] }
227-
- { spec: cp314t-macosx_x86_64, runs_on: [macos-15-intel] }
229+
- { spec: cp314-macosx_x86_64, runs_on: [macos-15-intel], omit: ${{ env.skip_ci_redundant_jobs }} }
230+
- { spec: cp314t-macosx_x86_64, runs_on: [macos-15-intel], omit: ${{ env.skip_ci_redundant_jobs }} }
231+
- { spec: cp315-macosx_x86_64, runs_on: [macos-15-intel] }
232+
- { spec: cp315t-macosx_x86_64, runs_on: [macos-15-intel] }
228233
229234
# arm64 macos
230-
- { spec: cp39-macosx_arm64, deployment_target: '11.0', run_wrapper: 'arch -arm64 bash --noprofile --norc -eo pipefail {0}', omit: ${{ env.skip_ci_redundant_jobs }} }
231-
- { spec: cp310-macosx_arm64, deployment_target: '11.0', run_wrapper: 'arch -arm64 bash --noprofile --norc -eo pipefail {0}', omit: ${{ env.skip_ci_redundant_jobs}} }
235+
- { spec: cp310-macosx_arm64, deployment_target: '11.0', run_wrapper: 'arch -arm64 bash --noprofile --norc -eo pipefail {0}', omit: ${{ env.skip_ci_redundant_jobs }} }
232236
- { spec: cp311-macosx_arm64, deployment_target: '11.0', run_wrapper: 'arch -arm64 bash --noprofile --norc -eo pipefail {0}', omit: ${{ env.skip_ci_redundant_jobs }} }
233237
- { spec: cp312-macosx_arm64, deployment_target: '11.0', run_wrapper: 'arch -arm64 bash --noprofile --norc -eo pipefail {0}', omit: ${{ env.skip_ci_redundant_jobs }} }
234238
- { spec: cp313-macosx_arm64, deployment_target: '11.0', run_wrapper: 'arch -arm64 bash --noprofile --norc -eo pipefail {0}', omit: ${{ env.skip_ci_redundant_jobs }} }
235-
- { spec: cp314-macosx_arm64, deployment_target: '11.0', run_wrapper: 'arch -arm64 bash --noprofile --norc -eo pipefail {0}' }
236-
- { spec: cp314t-macosx_arm64, deployment_target: '11.0', run_wrapper: 'arch -arm64 bash --noprofile --norc -eo pipefail {0}' }
239+
- { spec: cp314-macosx_arm64, deployment_target: '11.0', run_wrapper: 'arch -arm64 bash --noprofile --norc -eo pipefail {0}', omit: ${{ env.skip_ci_redundant_jobs }} }
240+
- { spec: cp314t-macosx_arm64, deployment_target: '11.0', run_wrapper: 'arch -arm64 bash --noprofile --norc -eo pipefail {0}', omit: ${{ env.skip_ci_redundant_jobs }} }
241+
- { spec: cp315-macosx_arm64, deployment_target: '11.0', run_wrapper: 'arch -arm64 bash --noprofile --norc -eo pipefail {0}' }
242+
- { spec: cp315t-macosx_arm64, deployment_target: '11.0', run_wrapper: 'arch -arm64 bash --noprofile --norc -eo pipefail {0}' }
237243
238244
macos:
239245
needs: [python_sdist, make_macos_matrix]
@@ -309,24 +315,30 @@ jobs:
309315
- { spec: cp311-win_amd64, omit: ${{ env.skip_ci_redundant_jobs }} }
310316
- { spec: cp312-win_amd64, omit: ${{ env.skip_ci_redundant_jobs }} }
311317
- { spec: cp313-win_amd64, omit: ${{ env.skip_ci_redundant_jobs }} }
312-
- { spec: cp314-win_amd64 }
313-
- { spec: cp314t-win_amd64 }
318+
- { spec: cp314-win_amd64, omit: ${{ env.skip_ci_redundant_jobs }} }
319+
- { spec: cp314t-win_amd64, omit: ${{ env.skip_ci_redundant_jobs }} }
320+
- { spec: cp315-win_amd64 }
321+
- { spec: cp315t-win_amd64 }
314322
315323
# x86 windows
316324
- { spec: cp39-win32, omit: ${{ env.skip_ci_redundant_jobs }} }
317325
- { spec: cp310-win32, omit: ${{ env.skip_ci_redundant_jobs }} }
318326
- { spec: cp311-win32, omit: ${{ env.skip_ci_redundant_jobs }} }
319327
- { spec: cp312-win32, omit: ${{ env.skip_ci_redundant_jobs }} }
320328
- { spec: cp313-win32, omit: ${{ env.skip_ci_redundant_jobs }} }
321-
- { spec: cp314-win32 }
322-
- { spec: cp314t-win32 }
329+
- { spec: cp314-win32, omit: ${{ env.skip_ci_redundant_jobs }} }
330+
- { spec: cp314t-win32, omit: ${{ env.skip_ci_redundant_jobs }} }
331+
- { spec: cp315-win32 }
332+
- { spec: cp315t-win32 }
323333
324334
# arm64 windows
325335
- { spec: cp311-win_arm64, runs_on: windows-11-arm, omit: ${{ env.skip_ci_redundant_jobs }} }
326336
- { spec: cp312-win_arm64, runs_on: windows-11-arm, omit: ${{ env.skip_ci_redundant_jobs }} }
327337
- { spec: cp313-win_arm64, runs_on: windows-11-arm, omit: ${{ env.skip_ci_redundant_jobs }} }
328-
- { spec: cp314-win_arm64, runs_on: windows-11-arm }
329-
- { spec: cp314t-win_arm64, runs_on: windows-11-arm }
338+
- { spec: cp314-win_arm64, runs_on: windows-11-arm, omit: ${{ env.skip_ci_redundant_jobs }} }
339+
- { spec: cp314t-win_arm64, runs_on: windows-11-arm, omit: ${{ env.skip_ci_redundant_jobs }} }
340+
- { spec: cp315-win_arm64, runs_on: windows-11-arm }
341+
- { spec: cp315t-win_arm64, runs_on: windows-11-arm }
330342
331343
windows:
332344
needs: [python_sdist, make_windows_matrix]
@@ -393,10 +405,12 @@ jobs:
393405
# arm64 iOS device
394406
- { spec: cp313-ios_arm64_iphoneos, platform: 'iphoneos' }
395407
- { spec: cp314-ios_arm64_iphoneos, platform: 'iphoneos' }
408+
- { spec: cp315-ios_arm64_iphoneos, platform: 'iphoneos' }
396409
397410
# arm64 iOS simulator
398411
- { spec: cp313-ios_arm64_iphonesimulator, platform: 'iphonesimulator' }
399412
- { spec: cp314-ios_arm64_iphonesimulator, platform: 'iphonesimulator' }
413+
- { spec: cp315-ios_arm64_iphonesimulator, platform: 'iphonesimulator' }
400414
401415
ios:
402416
needs: [python_sdist, make_ios_matrix]

0 commit comments

Comments
 (0)