26
26
timeout-minutes : 90
27
27
strategy :
28
28
matrix :
29
- platform : [ubuntu-22 .04, ubuntu-24.04-arm]
30
- env_file : [actions-310.yaml, actions-311.yaml, actions-312.yaml]
29
+ platform : [ubuntu-24 .04, ubuntu-24.04-arm]
30
+ env_file : [actions-310.yaml, actions-311.yaml, actions-312.yaml, actions-313.yaml ]
31
31
# Prevent the include jobs from overriding other jobs
32
32
pattern : [""]
33
33
pandas_future_infer_string : ["0"]
@@ -36,11 +36,15 @@ jobs:
36
36
env_file : actions-311-downstream_compat.yaml
37
37
pattern : " not slow and not network and not single_cpu"
38
38
pytest_target : " pandas/tests/test_downstream.py"
39
- platform : ubuntu-22 .04
39
+ platform : ubuntu-24 .04
40
40
- name : " Minimum Versions"
41
41
env_file : actions-310-minimum_versions.yaml
42
42
pattern : " not slow and not network and not single_cpu"
43
- platform : ubuntu-22.04
43
+ platform : ubuntu-24.04
44
+ - name : " Freethreading"
45
+ env_file : actions-313-freethreading.yaml
46
+ pattern : " not slow and not network and not single_cpu"
47
+ platform : ubuntu-24.04
44
48
- name : " Locale: it_IT"
45
49
env_file : actions-311.yaml
46
50
pattern : " not slow and not network and not single_cpu"
51
55
# Also install it_IT (its encoding is ISO8859-1) but do not activate it.
52
56
# It will be temporarily activated during tests with locale.setlocale
53
57
extra_loc : " it_IT"
54
- platform : ubuntu-22 .04
58
+ platform : ubuntu-24 .04
55
59
- name : " Locale: zh_CN"
56
60
env_file : actions-311.yaml
57
61
pattern : " not slow and not network and not single_cpu"
@@ -62,30 +66,30 @@ jobs:
62
66
# Also install zh_CN (its encoding is gb2312) but do not activate it.
63
67
# It will be temporarily activated during tests with locale.setlocale
64
68
extra_loc : " zh_CN"
65
- platform : ubuntu-22 .04
69
+ platform : ubuntu-24 .04
66
70
- name : " Future infer strings"
67
71
env_file : actions-312.yaml
68
72
pandas_future_infer_string : " 1"
69
- platform : ubuntu-22 .04
73
+ platform : ubuntu-24 .04
70
74
- name : " Future infer strings (without pyarrow)"
71
75
env_file : actions-311.yaml
72
76
pandas_future_infer_string : " 1"
73
- platform : ubuntu-22 .04
77
+ platform : ubuntu-24 .04
74
78
- name : " Pypy"
75
79
env_file : actions-pypy-39.yaml
76
80
pattern : " not slow and not network and not single_cpu"
77
81
test_args : " --max-worker-restart 0"
78
- platform : ubuntu-22 .04
82
+ platform : ubuntu-24 .04
79
83
- name : " Numpy Dev"
80
84
env_file : actions-311-numpydev.yaml
81
85
pattern : " not slow and not network and not single_cpu"
82
86
test_args : " -W error::DeprecationWarning -W error::FutureWarning"
83
- platform : ubuntu-22 .04
87
+ platform : ubuntu-24 .04
84
88
- name : " Pyarrow Nightly"
85
89
env_file : actions-311-pyarrownightly.yaml
86
90
pattern : " not slow and not network and not single_cpu"
87
91
pandas_future_infer_string : " 1"
88
- platform : ubuntu-22 .04
92
+ platform : ubuntu-24 .04
89
93
fail-fast : false
90
94
name : ${{ matrix.name || format('{0} {1}', matrix.platform, matrix.env_file) }}
91
95
env :
@@ -165,6 +169,9 @@ jobs:
165
169
- name : Build Pandas
166
170
id : build
167
171
uses : ./.github/actions/build_pandas
172
+ with :
173
+ # xref https://github.com/cython/cython/issues/6870
174
+ werror : ${{ matrix.name != 'Freethreading' }}
168
175
# TODO: Re-enable once Pypy has Pypy 3.10 on conda-forge
169
176
if : ${{ matrix.name != 'Pypy' }}
170
177
@@ -188,7 +195,7 @@ jobs:
188
195
matrix :
189
196
# Note: Don't use macOS latest since macos 14 appears to be arm64 only
190
197
os : [macos-13, macos-14, windows-latest]
191
- env_file : [actions-310.yaml, actions-311.yaml, actions-312.yaml]
198
+ env_file : [actions-310.yaml, actions-311.yaml, actions-312.yaml, actions-313.yaml ]
192
199
fail-fast : false
193
200
runs-on : ${{ matrix.os }}
194
201
name : ${{ format('{0} {1}', matrix.os, matrix.env_file) }}
@@ -220,7 +227,7 @@ jobs:
220
227
uses : ./.github/actions/run-tests
221
228
222
229
Linux-32-bit :
223
- runs-on : ubuntu-22 .04
230
+ runs-on : ubuntu-24 .04
224
231
container :
225
232
image : quay.io/pypa/manylinux2014_i686
226
233
options : --platform linux/386
@@ -241,12 +248,14 @@ jobs:
241
248
fi
242
249
- name : Build environment and Run Tests
243
250
# https://github.com/numpy/numpy/issues/24703#issuecomment-1722379388
251
+ # Note: Pinned to Cython 3.0.10 to avoid numerical instability in 32-bit environments
252
+ # https://github.com/pandas-dev/pandas/pull/61423
244
253
run : |
245
254
/opt/python/cp313-cp313/bin/python -m venv ~/virtualenvs/pandas-dev
246
255
. ~/virtualenvs/pandas-dev/bin/activate
247
256
python -m pip install --no-cache-dir -U pip wheel setuptools meson[ninja]==1.2.1 meson-python==0.13.1
248
257
python -m pip install numpy -Csetup-args="-Dallow-noblas=true"
249
- python -m pip install --no-cache-dir versioneer[toml] cython python-dateutil pytest>=7.3.2 pytest-xdist>=3.4.0 hypothesis>=6.84.0
258
+ python -m pip install --no-cache-dir versioneer[toml] cython==3.0.10 python-dateutil pytest>=7.3.2 pytest-xdist>=3.4.0 hypothesis>=6.84.0
250
259
python -m pip install --no-cache-dir --no-build-isolation -e . -Csetup-args="--werror"
251
260
python -m pip list --no-cache-dir
252
261
PANDAS_CI=1 python -m pytest -m 'not slow and not network and not clipboard and not single_cpu' pandas --junitxml=test-data.xml
@@ -256,7 +265,7 @@ jobs:
256
265
cancel-in-progress : true
257
266
258
267
Linux-Musl :
259
- runs-on : ubuntu-22 .04
268
+ runs-on : ubuntu-24 .04
260
269
container :
261
270
image : quay.io/pypa/musllinux_1_2_x86_64
262
271
steps :
@@ -316,7 +325,7 @@ jobs:
316
325
# To freeze this file, uncomment out the ``if: false`` condition, and migrate the jobs
317
326
# to the corresponding posix/windows-macos/sdist etc. workflows.
318
327
# Feel free to modify this comment as necessary.
319
- # if: false # Uncomment this to freeze the workflow, comment it to unfreeze
328
+ if : false
320
329
defaults :
321
330
run :
322
331
shell : bash -eou pipefail {0}
@@ -325,7 +334,7 @@ jobs:
325
334
fail-fast : false
326
335
matrix :
327
336
# Separate out macOS 13 and 14, since macOS 14 is arm64 only
328
- os : [ubuntu-22 .04, macOS-13, macOS-14, windows-latest]
337
+ os : [ubuntu-24 .04, macOS-13, macOS-14, windows-latest]
329
338
330
339
timeout-minutes : 90
331
340
@@ -362,48 +371,6 @@ jobs:
362
371
- name : Run Tests
363
372
uses : ./.github/actions/run-tests
364
373
365
- python-freethreading :
366
- defaults :
367
- run :
368
- shell : bash -eou pipefail {0}
369
- runs-on : ubuntu-22.04
370
-
371
- timeout-minutes : 90
372
-
373
- concurrency :
374
- # https://github.community/t/concurrecy-not-work-for-push/183068/7
375
- group : ${{ github.event_name == 'push' && github.run_number || github.ref }}-python-freethreading-dev
376
- cancel-in-progress : true
377
-
378
- env :
379
- PYTEST_WORKERS : " auto"
380
- PANDAS_CI : 1
381
- PATTERN : " not slow and not network and not clipboard and not single_cpu"
382
- PYTEST_TARGET : pandas
383
-
384
- steps :
385
- - uses : actions/checkout@v4
386
- with :
387
- fetch-depth : 0
388
-
389
- - name : Set up Python Free-threading Version
390
- uses :
deadsnakes/[email protected]
391
- with :
392
- python-version : 3.13-dev
393
- nogil : true
394
-
395
- - name : Build Environment
396
- run : |
397
- python --version
398
- python -m pip install --upgrade pip setuptools wheel numpy meson[ninja]==1.2.1 meson-python==0.13.1
399
- python -m pip install --pre --extra-index-url https://pypi.anaconda.org/scientific-python-nightly-wheels/simple cython
400
- python -m pip install versioneer[toml] python-dateutil pytz tzdata hypothesis>=6.84.0 pytest>=7.3.2 pytest-xdist>=3.4.0 pytest-cov
401
- python -m pip install -ve . --no-build-isolation --no-index --no-deps -Csetup-args="--werror"
402
- python -m pip list
403
-
404
- - name : Run Tests
405
- uses : ./.github/actions/run-tests
406
-
407
374
# NOTE: this job must be kept in sync with the Pyodide build job in wheels.yml
408
375
emscripten :
409
376
# Note: the Python version, Emscripten toolchain version are determined
@@ -413,7 +380,7 @@ jobs:
413
380
# The Node.js version can be determined via Pyodide:
414
381
# https://pyodide.org/en/stable/usage/index.html#node-js
415
382
name : Pyodide build
416
- runs-on : ubuntu-22 .04
383
+ runs-on : ubuntu-24 .04
417
384
concurrency :
418
385
# https://github.community/t/concurrecy-not-work-for-push/183068/7
419
386
group : ${{ github.event_name == 'push' && github.run_number || github.ref }}-wasm
0 commit comments