Skip to content

Commit d437902

Browse files
authored
CI: Migrate Python 3.10 testing to Posix GHA/Azure Pipelines (#45120)
1 parent d19a31e commit d437902

11 files changed

+216
-9
lines changed

Diff for: .github/workflows/posix.yml

+4-2
Original file line numberDiff line numberDiff line change
@@ -33,9 +33,11 @@ jobs:
3333
[actions-38.yaml, "not slow and not clipboard", "", "", "", "", ""],
3434
[actions-38.yaml, "slow", "", "", "", "", ""],
3535
[actions-pypy-38.yaml, "not slow and not clipboard", "", "", "", "", "--max-worker-restart 0"],
36-
[actions-39-numpydev.yaml, "not slow and not network", "xsel", "", "", "deprecate", "-W error"],
3736
[actions-39.yaml, "slow", "", "", "", "", ""],
38-
[actions-39.yaml, "not slow and not clipboard", "", "", "", "", ""]
37+
[actions-39.yaml, "not slow and not clipboard", "", "", "", "", ""],
38+
[actions-310-numpydev.yaml, "not slow and not network", "xclip", "", "", "deprecate", "-W error"],
39+
[actions-310.yaml, "not slow and not clipboard", "", "", "", "", ""],
40+
[actions-310.yaml, "slow", "", "", "", "", ""],
3941
]
4042
fail-fast: false
4143
env:

Diff for: .github/workflows/python-dev.yml

+11-2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,11 @@
1+
# This file is purposely frozen(does not run). DO NOT DELETE IT
2+
# Unfreeze(by commentingthe if: false() condition) once the
3+
# next Python Dev version has released beta 1 and both Cython and numpy support it
4+
# After that Python has released, migrate the workflows to the
5+
# posix GHA workflows/Azure pipelines and "freeze" this file by
6+
# uncommenting the if: false() condition
7+
# Feel free to modify this comment as necessary.
8+
19
name: Python Dev
210

311
on:
@@ -21,13 +29,14 @@ env:
2129

2230
jobs:
2331
build:
32+
if: false # Comment this line out to "unfreeze"
2433
runs-on: ${{ matrix.os }}
2534
strategy:
2635
fail-fast: false
2736
matrix:
2837
os: [ubuntu-latest, macOS-latest, windows-latest]
2938

30-
name: actions-310-dev
39+
name: actions-311-dev
3140
timeout-minutes: 80
3241

3342
concurrency:
@@ -43,7 +52,7 @@ jobs:
4352
- name: Set up Python Dev Version
4453
uses: actions/setup-python@v2
4554
with:
46-
python-version: '3.10-dev'
55+
python-version: '3.11-dev'
4756

4857
# TODO: GH#44980 https://github.com/pypa/setuptools/issues/2941
4958
- name: Install dependencies

Diff for: ci/azure/posix.yml

+20
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,26 @@ jobs:
1818
CONDA_PY: "38"
1919
PATTERN: "not slow"
2020
PYTEST_TARGET: "pandas/tests/[i-z]*"
21+
py39_macos_1:
22+
ENV_FILE: ci/deps/azure-macos-39.yaml
23+
CONDA_PY: "39"
24+
PATTERN: "not slow"
25+
PYTEST_TARGET: "pandas/tests/[a-h]*"
26+
py39_macos_2:
27+
ENV_FILE: ci/deps/azure-macos-39.yaml
28+
CONDA_PY: "39"
29+
PATTERN: "not slow"
30+
PYTEST_TARGET: "pandas/tests/[i-z]*"
31+
py310_macos_1:
32+
ENV_FILE: ci/deps/azure-macos-310.yaml
33+
CONDA_PY: "310"
34+
PATTERN: "not slow"
35+
PYTEST_TARGET: "pandas/tests/[a-h]*"
36+
py310_macos_2:
37+
ENV_FILE: ci/deps/azure-macos-310.yaml
38+
CONDA_PY: "310"
39+
PATTERN: "not slow"
40+
PYTEST_TARGET: "pandas/tests/[i-z]*"
2141

2242
steps:
2343
- script: echo '##vso[task.prependpath]$(HOME)/miniconda3/bin'

Diff for: ci/azure/windows.yml

+14
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,20 @@ jobs:
3636
PYTEST_WORKERS: 2 # GH-42236
3737
PYTEST_TARGET: "pandas/tests/[i-z]*"
3838

39+
py310_1:
40+
ENV_FILE: ci/deps/azure-windows-310.yaml
41+
CONDA_PY: "310"
42+
PATTERN: "not slow and not high_memory"
43+
PYTEST_WORKERS: 2 # GH-42236
44+
PYTEST_TARGET: "pandas/tests/[a-h]*"
45+
46+
py310_2:
47+
ENV_FILE: ci/deps/azure-windows-310.yaml
48+
CONDA_PY: "310"
49+
PATTERN: "not slow and not high_memory"
50+
PYTEST_WORKERS: 2 # GH-42236
51+
PYTEST_TARGET: "pandas/tests/[i-z]*"
52+
3953
steps:
4054
- powershell: |
4155
Write-Host "##vso[task.prependpath]$env:CONDA\Scripts"

Diff for: ci/deps/actions-39-numpydev.yaml renamed to ci/deps/actions-310-numpydev.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ name: pandas-dev
22
channels:
33
- defaults
44
dependencies:
5-
- python=3.9
5+
- python=3.10
66

77
# tools
88
- pytest>=6.0

Diff for: ci/deps/actions-310.yaml

+51
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
name: pandas-dev
2+
channels:
3+
- conda-forge
4+
dependencies:
5+
- python=3.9
6+
7+
# test dependencies
8+
- cython=0.29.24
9+
- pytest>=6.0
10+
- pytest-cov
11+
- pytest-xdist>=1.31
12+
- hypothesis>=5.5.3
13+
- psutil
14+
15+
# required dependencies
16+
- python-dateutil
17+
- numpy
18+
- pytz
19+
20+
# optional dependencies
21+
- beautifulsoup4
22+
- blosc
23+
- bottleneck
24+
- fastparquet
25+
- fsspec
26+
- html5lib
27+
- gcsfs
28+
- jinja2
29+
- lxml
30+
- matplotlib
31+
# TODO: uncomment after numba supports py310
32+
#- numba
33+
- numexpr
34+
- openpyxl
35+
- odfpy
36+
- pandas-gbq
37+
- psycopg2
38+
- pymysql
39+
- pytables
40+
- pyarrow
41+
- pyreadstat
42+
- pyxlsb
43+
- s3fs
44+
- scipy
45+
- sqlalchemy
46+
- tabulate
47+
- xarray
48+
- xlrd
49+
- xlsxwriter
50+
- xlwt
51+
- zstandard

Diff for: ci/deps/azure-macos-310.yaml

+36
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
name: pandas-dev
2+
channels:
3+
- defaults
4+
- conda-forge
5+
dependencies:
6+
- python=3.10
7+
8+
# tools
9+
- cython>=0.29.24
10+
- pytest>=6.0
11+
- pytest-xdist>=1.31
12+
- hypothesis>=5.5.3
13+
- pytest-azurepipelines
14+
15+
# pandas dependencies
16+
- beautifulsoup4
17+
- bottleneck
18+
- html5lib
19+
- jinja2
20+
- lxml
21+
- matplotlib
22+
- nomkl
23+
- numexpr
24+
- numpy
25+
- openpyxl
26+
- pyarrow
27+
- pyreadstat
28+
- pytables
29+
- python-dateutil==2.8.1
30+
- pytz
31+
- pyxlsb
32+
- xarray
33+
- xlrd
34+
- xlsxwriter
35+
- xlwt
36+
- zstandard

Diff for: ci/deps/azure-macos-38.yaml

+1-3
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ dependencies:
66
- python=3.8
77

88
# tools
9+
- cython>=0.29.24
910
- pytest>=6.0
1011
- pytest-xdist>=1.31
1112
- hypothesis>=5.5.3
@@ -33,6 +34,3 @@ dependencies:
3334
- xlsxwriter
3435
- xlwt
3536
- zstandard
36-
- pip
37-
- pip:
38-
- cython>=0.29.24

Diff for: ci/deps/azure-macos-39.yaml

+36
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
name: pandas-dev
2+
channels:
3+
- defaults
4+
- conda-forge
5+
dependencies:
6+
- python=3.9
7+
8+
# tools
9+
- cython>=0.29.24
10+
- pytest>=6.0
11+
- pytest-xdist>=1.31
12+
- hypothesis>=5.5.3
13+
- pytest-azurepipelines
14+
15+
# pandas dependencies
16+
- beautifulsoup4
17+
- bottleneck
18+
- html5lib
19+
- jinja2
20+
- lxml
21+
- matplotlib=3.3.2
22+
- nomkl
23+
- numexpr
24+
- numpy=1.21.3
25+
- openpyxl
26+
- pyarrow=1.0.1
27+
- pyreadstat
28+
- pytables
29+
- python-dateutil==2.8.1
30+
- pytz
31+
- pyxlsb
32+
- xarray
33+
- xlrd
34+
- xlsxwriter
35+
- xlwt
36+
- zstandard

Diff for: ci/deps/azure-windows-310.yaml

+41
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
name: pandas-dev
2+
channels:
3+
- conda-forge
4+
- defaults
5+
dependencies:
6+
- python=3.10
7+
8+
# tools
9+
- cython>=0.29.24
10+
- pytest>=6.0
11+
- pytest-xdist>=1.31
12+
- hypothesis>=5.5.3
13+
- pytest-azurepipelines
14+
15+
# pandas dependencies
16+
- beautifulsoup4
17+
- bottleneck
18+
- fsspec>=0.8.0
19+
- gcsfs
20+
- html5lib
21+
- jinja2
22+
- lxml
23+
- matplotlib
24+
# TODO: uncomment after numba supports py310
25+
#- numba
26+
- numexpr
27+
- numpy
28+
- openpyxl
29+
- pyarrow
30+
- pytables
31+
- python-dateutil
32+
- pytz
33+
- s3fs>=0.4.2
34+
- scipy
35+
- sqlalchemy
36+
- xlrd
37+
- xlsxwriter
38+
- xlwt
39+
- pyreadstat
40+
- pyxlsb
41+
- zstandard

Diff for: pandas/tests/plotting/frame/test_frame.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -682,7 +682,7 @@ def test_raise_error_on_datetime_time_data(self):
682682
# GH 8113, datetime.time type is not supported by matplotlib in scatter
683683
df = DataFrame(np.random.randn(10), columns=["a"])
684684
df["dtime"] = date_range(start="2014-01-01", freq="h", periods=10).time
685-
msg = "must be a string or a number, not 'datetime.time'"
685+
msg = "must be a string or a (real )?number, not 'datetime.time'"
686686

687687
with pytest.raises(TypeError, match=msg):
688688
df.plot(kind="scatter", x="dtime", y="a")

0 commit comments

Comments
 (0)