@@ -22,10 +22,11 @@ defaults:
22
22
23
23
jobs :
24
24
ubuntu :
25
- runs-on : ubuntu-22.04
25
+ runs-on : ${{ matrix.platform }}
26
26
timeout-minutes : 90
27
27
strategy :
28
28
matrix :
29
+ platform : [ubuntu-22.04, ubuntu-24.04-arm]
29
30
env_file : [actions-310.yaml, actions-311.yaml, actions-312.yaml]
30
31
# Prevent the include jobs from overriding other jobs
31
32
pattern : [""]
35
36
env_file : actions-311-downstream_compat.yaml
36
37
pattern : " not slow and not network and not single_cpu"
37
38
pytest_target : " pandas/tests/test_downstream.py"
39
+ platform : ubuntu-22.04
38
40
- name : " Minimum Versions"
39
41
env_file : actions-310-minimum_versions.yaml
40
42
pattern : " not slow and not network and not single_cpu"
43
+ platform : ubuntu-22.04
41
44
- name : " Locale: it_IT"
42
45
env_file : actions-311.yaml
43
46
pattern : " not slow and not network and not single_cpu"
48
51
# Also install it_IT (its encoding is ISO8859-1) but do not activate it.
49
52
# It will be temporarily activated during tests with locale.setlocale
50
53
extra_loc : " it_IT"
54
+ platform : ubuntu-22.04
51
55
- name : " Locale: zh_CN"
52
56
env_file : actions-311.yaml
53
57
pattern : " not slow and not network and not single_cpu"
@@ -58,25 +62,32 @@ jobs:
58
62
# Also install zh_CN (its encoding is gb2312) but do not activate it.
59
63
# It will be temporarily activated during tests with locale.setlocale
60
64
extra_loc : " zh_CN"
65
+ platform : ubuntu-22.04
61
66
- name : " Future infer strings"
62
67
env_file : actions-312.yaml
63
68
pandas_future_infer_string : " 1"
69
+ platform : ubuntu-22.04
64
70
- name : " Future infer strings (without pyarrow)"
65
71
env_file : actions-311.yaml
66
72
pandas_future_infer_string : " 1"
73
+ platform : ubuntu-22.04
67
74
- name : " Pypy"
68
75
env_file : actions-pypy-39.yaml
69
76
pattern : " not slow and not network and not single_cpu"
70
77
test_args : " --max-worker-restart 0"
78
+ platform : ubuntu-22.04
71
79
- name : " Numpy Dev"
72
80
env_file : actions-311-numpydev.yaml
73
81
pattern : " not slow and not network and not single_cpu"
74
82
test_args : " -W error::DeprecationWarning -W error::FutureWarning"
83
+ platform : ubuntu-22.04
75
84
- name : " Pyarrow Nightly"
76
85
env_file : actions-311-pyarrownightly.yaml
77
86
pattern : " not slow and not network and not single_cpu"
87
+ pandas_future_infer_string : " 1"
88
+ platform : ubuntu-22.04
78
89
fail-fast : false
79
- name : ${{ matrix.name || format('ubuntu-latest {0}' , matrix.env_file) }}
90
+ name : ${{ matrix.name || format('{0} {1}', matrix.platform , matrix.env_file) }}
80
91
env :
81
92
PATTERN : ${{ matrix.pattern }}
82
93
LANG : ${{ matrix.lang || 'C.UTF-8' }}
@@ -91,12 +102,12 @@ jobs:
91
102
REMOVE_PYARROW : ${{ matrix.name == 'Future infer strings (without pyarrow)' && '1' || '0' }}
92
103
concurrency :
93
104
# https://github.community/t/concurrecy-not-work-for-push/183068/7
94
- group : ${{ github.event_name == 'push' && github.run_number || github.ref }}-${{ matrix.env_file }}-${{ matrix.pattern }}-${{ matrix.extra_apt || '' }}-${{ matrix.pandas_future_infer_string }}
105
+ group : ${{ github.event_name == 'push' && github.run_number || github.ref }}-${{ matrix.env_file }}-${{ matrix.pattern }}-${{ matrix.extra_apt || '' }}-${{ matrix.pandas_future_infer_string }}-${{ matrix.platform }}
95
106
cancel-in-progress : true
96
107
97
108
services :
98
109
mysql :
99
- image : mysql:8
110
+ image : mysql:9
100
111
env :
101
112
MYSQL_ALLOW_EMPTY_PASSWORD : yes
102
113
MYSQL_DATABASE : pandas
@@ -109,7 +120,7 @@ jobs:
109
120
- 3306:3306
110
121
111
122
postgres :
112
- image : postgres:16
123
+ image : postgres:17
113
124
env :
114
125
PGUSER : postgres
115
126
POSTGRES_USER : postgres
@@ -124,7 +135,7 @@ jobs:
124
135
- 5432:5432
125
136
126
137
moto :
127
- image : motoserver/moto:5.0.0
138
+ image : motoserver/moto:5.0.27
128
139
env :
129
140
AWS_ACCESS_KEY_ID : foobar_key
130
141
AWS_SECRET_ACCESS_KEY : foobar_secret
@@ -231,15 +242,14 @@ jobs:
231
242
- name : Build environment and Run Tests
232
243
# https://github.com/numpy/numpy/issues/24703#issuecomment-1722379388
233
244
run : |
234
- /opt/python/cp311-cp311 /bin/python -m venv ~/virtualenvs/pandas-dev
245
+ /opt/python/cp313-cp313 /bin/python -m venv ~/virtualenvs/pandas-dev
235
246
. ~/virtualenvs/pandas-dev/bin/activate
236
247
python -m pip install --no-cache-dir -U pip wheel setuptools meson[ninja]==1.2.1 meson-python==0.13.1
237
248
python -m pip install numpy -Csetup-args="-Dallow-noblas=true"
238
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
239
250
python -m pip install --no-cache-dir --no-build-isolation -e . -Csetup-args="--werror"
240
251
python -m pip list --no-cache-dir
241
- export PANDAS_CI=1
242
- python -m pytest -m 'not slow and not network and not clipboard and not single_cpu' pandas --junitxml=test-data.xml
252
+ PANDAS_CI=1 python -m pytest -m 'not slow and not network and not clipboard and not single_cpu' pandas --junitxml=test-data.xml
243
253
concurrency :
244
254
# https://github.community/t/concurrecy-not-work-for-push/183068/7
245
255
group : ${{ github.event_name == 'push' && github.run_number || github.ref }}-32bit
@@ -248,7 +258,7 @@ jobs:
248
258
Linux-Musl :
249
259
runs-on : ubuntu-22.04
250
260
container :
251
- image : quay.io/pypa/musllinux_1_1_x86_64
261
+ image : quay.io/pypa/musllinux_1_2_x86_64
252
262
steps :
253
263
- name : Checkout pandas Repo
254
264
# actions/checkout does not work since it requires node
@@ -270,7 +280,7 @@ jobs:
270
280
apk add musl-locales
271
281
- name : Build environment
272
282
run : |
273
- /opt/python/cp311-cp311 /bin/python -m venv ~/virtualenvs/pandas-dev
283
+ /opt/python/cp313-cp313 /bin/python -m venv ~/virtualenvs/pandas-dev
274
284
. ~/virtualenvs/pandas-dev/bin/activate
275
285
python -m pip install --no-cache-dir -U pip wheel setuptools meson-python==0.13.1 meson[ninja]==1.2.1
276
286
python -m pip install --no-cache-dir versioneer[toml] cython numpy python-dateutil pytest>=7.3.2 pytest-xdist>=3.4.0 hypothesis>=6.84.0
@@ -280,8 +290,7 @@ jobs:
280
290
- name : Run Tests
281
291
run : |
282
292
. ~/virtualenvs/pandas-dev/bin/activate
283
- export PANDAS_CI=1
284
- python -m pytest -m 'not slow and not network and not clipboard and not single_cpu' pandas --junitxml=test-data.xml
293
+ PANDAS_CI=1 python -m pytest -m 'not slow and not network and not clipboard and not single_cpu' pandas --junitxml=test-data.xml
285
294
concurrency :
286
295
# https://github.community/t/concurrecy-not-work-for-push/183068/7
287
296
group : ${{ github.event_name == 'push' && github.run_number || github.ref }}-musl
@@ -346,8 +355,7 @@ jobs:
346
355
python --version
347
356
python -m pip install --upgrade pip setuptools wheel meson[ninja]==1.2.1 meson-python==0.13.1
348
357
python -m pip install --pre --extra-index-url https://pypi.anaconda.org/scientific-python-nightly-wheels/simple numpy
349
- python -m pip install versioneer[toml]
350
- python -m pip install python-dateutil tzdata cython hypothesis>=6.84.0 pytest>=7.3.2 pytest-xdist>=3.4.0 pytest-cov
358
+ python -m pip install versioneer[toml] python-dateutil tzdata cython hypothesis>=6.84.0 pytest>=7.3.2 pytest-xdist>=3.4.0 pytest-cov
351
359
python -m pip install -ve . --no-build-isolation --no-index --no-deps -Csetup-args="--werror"
352
360
python -m pip list
353
361
@@ -364,7 +372,7 @@ jobs:
364
372
365
373
concurrency :
366
374
# https://github.community/t/concurrecy-not-work-for-push/183068/7
367
- group : ${{ github.event_name == 'push' && github.run_number || github.ref }}-${{ matrix.os }}- python-freethreading-dev
375
+ group : ${{ github.event_name == 'push' && github.run_number || github.ref }}-python-freethreading-dev
368
376
cancel-in-progress : true
369
377
370
378
env :
@@ -385,14 +393,11 @@ jobs:
385
393
nogil : true
386
394
387
395
- name : Build Environment
388
- # TODO: Once numpy 2.2.1 is out, don't install nightly version
389
- # Tests segfault with numpy 2.2.0: https://github.com/numpy/numpy/pull/27955
390
396
run : |
391
397
python --version
392
- python -m pip install --upgrade pip setuptools wheel meson[ninja]==1.2.1 meson-python==0.13.1
393
- python -m pip install --pre --extra-index-url https://pypi.anaconda.org/scientific-python-nightly-wheels/simple cython numpy
394
- python -m pip install versioneer[toml]
395
- python -m pip install python-dateutil pytz tzdata hypothesis>=6.84.0 pytest>=7.3.2 pytest-xdist>=3.4.0 pytest-cov
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
396
401
python -m pip install -ve . --no-build-isolation --no-index --no-deps -Csetup-args="--werror"
397
402
python -m pip list
398
403
@@ -419,20 +424,20 @@ jobs:
419
424
with :
420
425
fetch-depth : 0
421
426
422
- - name : Set up Python for Pyodide
427
+ - name : Set up Python for pyodide-build
423
428
id : setup-python
424
429
uses : actions/setup-python@v5
425
430
with :
426
- python-version : ' 3.11.3 '
431
+ python-version : ' 3.12 '
427
432
428
433
- name : Set up Emscripten toolchain
429
434
uses : mymindstorm/setup-emsdk@v14
430
435
with :
431
- version : ' 3.1.46 '
436
+ version : ' 3.1.58 '
432
437
actions-cache-folder : emsdk-cache
433
438
434
439
- name : Install pyodide-build
435
- run : pip install "pyodide-build==0.25.1 "
440
+ run : pip install "pyodide-build>=0.29.2 "
436
441
437
442
- name : Build pandas for Pyodide
438
443
run : |
@@ -441,10 +446,13 @@ jobs:
441
446
- name : Set up Node.js
442
447
uses : actions/setup-node@v4
443
448
with :
444
- node-version : ' 18 '
449
+ node-version : ' 20 '
445
450
446
451
- name : Set up Pyodide virtual environment
452
+ env :
453
+ pyodide-version : ' 0.27.1'
447
454
run : |
455
+ pyodide xbuildenv install ${{ env.pyodide-version }}
448
456
pyodide venv .venv-pyodide
449
457
source .venv-pyodide/bin/activate
450
458
pip install dist/*.whl
0 commit comments