13
13
- " doc/**"
14
14
15
15
env :
16
- PYTEST_WORKERS : " auto"
17
16
PANDAS_CI : 1
18
17
19
18
jobs :
@@ -22,35 +21,54 @@ jobs:
22
21
defaults :
23
22
run :
24
23
shell : bash -l {0}
24
+ timeout-minutes : 120
25
25
strategy :
26
26
matrix :
27
- settings : [
28
- [actions-38-downstream_compat.yaml, "not slow and not network and not clipboard", "", "", "", "", ""],
29
- [actions-38-minimum_versions.yaml, "not clipboard", "", "", "", "", ""],
30
- [actions-38.yaml, "not slow and not network", "language-pack-it xsel", "it_IT.utf8", "it_IT.utf8", "", ""],
31
- [actions-38.yaml, "not slow and not network", "language-pack-zh-hans xsel", "zh_CN.utf8", "zh_CN.utf8", "", ""],
32
- [actions-38.yaml, "not clipboard", "", "", "", "", ""],
33
- [actions-pypy-38.yaml, "not slow and not clipboard", "", "", "", "", "--max-worker-restart 0"],
34
- [actions-39.yaml, "not clipboard", "", "", "", "", ""],
35
- [actions-310-numpydev.yaml, "not slow and not network", "xsel", "", "", "deprecate", "-W error"],
36
- [actions-310.yaml, "not clipboard", "", "", "", "", ""],
37
- ]
27
+ env_file : [actions-38.yaml, actions-39.yaml, actions-310.yaml]
28
+ pattern : ["not single_cpu", "single_cpu"]
29
+ # Don't test pyarrow v2/3: Causes timeouts in read_csv engine
30
+ # even if tests are skipped/xfailed
31
+ pyarrow_version : ["5", "6", "7"]
32
+ include :
33
+ - env_file : actions-38-downstream_compat.yaml
34
+ pattern : " not slow and not network and not single_cpu"
35
+ pytest_target : " pandas/tests/test_downstream.py"
36
+ - env_file : actions-38-minimum_versions.yaml
37
+ pattern : " not slow and not network and not single_cpu"
38
+ - env_file : actions-38.yaml
39
+ pattern : " not slow and not network and not single_cpu"
40
+ extra_apt : " language-pack-it"
41
+ lang : " it_IT.utf8"
42
+ lc_all : " it_IT.utf8"
43
+ - env_file : actions-38.yaml
44
+ pattern : " not slow and not network and not single_cpu"
45
+ extra_apt : " language-pack-zh-hans"
46
+ lang : " zh_CN.utf8"
47
+ lc_all : " zh_CN.utf8"
48
+ - env_file : actions-pypy-38.yaml
49
+ pattern : " not slow and not network and not single_cpu"
50
+ test_args : " --max-worker-restart 0"
51
+ - env_file : actions-310-numpydev.yaml
52
+ pattern : " not slow and not network and not single_cpu"
53
+ pandas_testing_mode : " deprecate"
54
+ test_args : " -W error"
38
55
fail-fast : false
39
56
env :
40
- ENV_FILE : ci/deps/${{ matrix.settings[0] }}
41
- PATTERN : ${{ matrix.settings[1] }}
42
- EXTRA_APT : ${{ matrix.settings[2] }}
43
- LANG : ${{ matrix.settings[3] }}
44
- LC_ALL : ${{ matrix.settings[4] }}
45
- PANDAS_TESTING_MODE : ${{ matrix.settings[5] }}
46
- TEST_ARGS : ${{ matrix.settings[6] }}
47
- PYTEST_TARGET : pandas
48
- IS_PYPY : ${{ contains(matrix.settings[0], 'pypy') }}
57
+ ENV_FILE : ci/deps/${{ matrix.env_file }}
58
+ PATTERN : ${{ matrix.pattern }}
59
+ EXTRA_APT : ${{ matrix.extra_apt || '' }}
60
+ LANG : ${{ matrix.lang || '' }}
61
+ LC_ALL : ${{ matrix.lc_all || '' }}
62
+ PANDAS_TESTING_MODE : ${{ matrix.pandas_testing_mode || '' }}
63
+ TEST_ARGS : ${{ matrix.test_args || '' }}
64
+ PYTEST_WORKERS : ${{ contains(matrix.pattern, 'not single_cpu') && 'auto' || '1' }}
65
+ PYTEST_TARGET : ${{ matrix.pytest_target || 'pandas' }}
66
+ IS_PYPY : ${{ contains(matrix.env_file, 'pypy') }}
49
67
# TODO: re-enable coverage on pypy, its slow
50
- COVERAGE : ${{ !contains(matrix.settings[0] , 'pypy') }}
68
+ COVERAGE : ${{ !contains(matrix.env_file , 'pypy') }}
51
69
concurrency :
52
70
# https://github.community/t/concurrecy-not-work-for-push/183068/7
53
- group : ${{ github.event_name == 'push' && github.run_number || github.ref }}-${{ matrix.settings[0] }}-${{ matrix.settings[1] }}-${{ matrix.settings[2] }}
71
+ group : ${{ github.event_name == 'push' && github.run_number || github.ref }}-${{ matrix.env_file }}-${{ matrix.pattern }}-${{ matrix.pyarrow_version || '' }}-${{ matrix.extra_apt || '' }}
54
72
cancel-in-progress : true
55
73
56
74
services :
@@ -105,7 +123,8 @@ jobs:
105
123
hashFiles('${{ env.ENV_FILE }}') }}
106
124
107
125
- name : Extra installs
108
- run : sudo apt-get update && sudo apt-get install -y libc6-dev-i386 ${{ env.EXTRA_APT }}
126
+ # xsel for clipboard tests
127
+ run : sudo apt-get update && sudo apt-get install -y libc6-dev-i386 xsel ${{ env.EXTRA_APT }}
109
128
110
129
- uses : conda-incubator/setup-miniconda@v2
111
130
with :
@@ -117,6 +136,10 @@ jobs:
117
136
use-only-tar-bz2 : true
118
137
if : ${{ env.IS_PYPY == 'false' }} # No pypy3.8 support
119
138
139
+ - name : Upgrade Arrow version
140
+ run : conda install -n pandas-dev -c conda-forge --no-update-deps pyarrow=${{ matrix.pyarrow_version }}
141
+ if : ${{ matrix.pyarrow_version }}
142
+
120
143
- name : Setup PyPy
121
144
uses : actions/setup-python@v2
122
145
with :
@@ -127,8 +150,7 @@ jobs:
127
150
shell : bash
128
151
run : |
129
152
# TODO: re-enable cov, its slowing the tests down though
130
- # TODO: Unpin Cython, the new Cython 0.29.26 is causing compilation errors
131
- pip install Cython==0.29.25 numpy python-dateutil pytz pytest>=6.0 pytest-xdist>=1.31.0 hypothesis>=5.5.3
153
+ pip install Cython numpy python-dateutil pytz pytest>=6.0 pytest-xdist>=1.31.0 hypothesis>=5.5.3
132
154
if : ${{ env.IS_PYPY == 'true' }}
133
155
134
156
- name : Build Pandas
0 commit comments