44 push :
55 branches :
66 - main
7- - 2.2 .x
7+ - 2.3 .x
88 pull_request :
99 branches :
1010 - main
11- - 2.2 .x
11+ - 2.3 .x
1212 paths-ignore :
1313 - " doc/**"
1414 - " web/**"
2929 env_file : [actions-310.yaml, actions-311.yaml, actions-312.yaml]
3030 # Prevent the include jobs from overriding other jobs
3131 pattern : [""]
32+ pandas_future_infer_string : ["0"]
3233 include :
3334 - name : " Downstream Compat"
3435 env_file : actions-311-downstream_compat.yaml
5758 # Also install zh_CN (its encoding is gb2312) but do not activate it.
5859 # It will be temporarily activated during tests with locale.setlocale
5960 extra_loc : " zh_CN"
61+ - name : " Future infer strings"
62+ env_file : actions-312.yaml
63+ pandas_future_infer_string : " 1"
64+ - name : " Future infer strings (without pyarrow)"
65+ env_file : actions-311.yaml
66+ pandas_future_infer_string : " 1"
6067 - name : " Pypy"
6168 env_file : actions-pypy-39.yaml
6269 pattern : " not slow and not network and not single_cpu"
@@ -75,15 +82,16 @@ jobs:
7582 LANG : ${{ matrix.lang || 'C.UTF-8' }}
7683 LC_ALL : ${{ matrix.lc_all || '' }}
7784 PANDAS_CI : ' 1'
85+ PANDAS_FUTURE_INFER_STRING : ${{ matrix.pandas_future_infer_string || '0' }}
7886 TEST_ARGS : ${{ matrix.test_args || '' }}
7987 PYTEST_WORKERS : ' auto'
8088 PYTEST_TARGET : ${{ matrix.pytest_target || 'pandas' }}
81- NPY_PROMOTION_STATE : ${{ matrix.env_file == 'actions-311-numpydev.yaml' && 'weak' || 'legacy' }}
8289 # Clipboard tests
8390 QT_QPA_PLATFORM : offscreen
91+ REMOVE_PYARROW : ${{ matrix.name == 'Future infer strings (without pyarrow)' && '1' || '0' }}
8492 concurrency :
8593 # https://github.community/t/concurrecy-not-work-for-push/183068/7
86- group : ${{ github.event_name == 'push' && github.run_number || github.ref }}-${{ matrix.env_file }}-${{ matrix.pattern }}-${{ matrix.extra_apt || '' }}}
94+ group : ${{ github.event_name == 'push' && github.run_number || github.ref }}-${{ matrix.env_file }}-${{ matrix.pattern }}-${{ matrix.extra_apt || '' }}-${{ matrix.pandas_future_infer_string } }
8795 cancel-in-progress : true
8896
8997 services :
@@ -130,8 +138,8 @@ jobs:
130138 fetch-depth : 0
131139
132140 - name : Extra installs
133- run : sudo apt-get update && sudo apt-get install -y ${{ matrix.extra_apt }}
134- if : ${{ matrix.extra_apt }}
141+ # https://pytest-qt.readthedocs.io/en/latest/troubleshooting.html#github-actions-azure-pipelines-travis-ci-and-gitlab-ci-cd
142+ run : sudo apt-get update && sudo apt-get install -y libegl1 libopengl0 ${{ matrix.extra_apt || '' }}
135143
136144 - name : Generate extra locales
137145 # These extra locales will be available for locale.setlocale() calls in tests
@@ -226,9 +234,9 @@ jobs:
226234 /opt/python/cp311-cp311/bin/python -m venv ~/virtualenvs/pandas-dev
227235 . ~/virtualenvs/pandas-dev/bin/activate
228236 python -m pip install --no-cache-dir -U pip wheel setuptools meson[ninja]==1.2.1 meson-python==0.13.1
229- python -m pip install numpy --config-settings=setup -args="-Dallow-noblas=true"
230- python -m pip install --no-cache-dir versioneer[toml] cython python-dateutil pytz pytest>=7.3.2 pytest-xdist>=2.2 .0 hypothesis>=6.46.1
231- python -m pip install --no-cache-dir --no-build-isolation -e . --config-settings=setup -args="--werror"
237+ python -m pip install numpy -Csetup -args="-Dallow-noblas=true"
238+ 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+ python -m pip install --no-cache-dir --no-build-isolation -e . -Csetup -args="--werror"
232240 python -m pip list --no-cache-dir
233241 export PANDAS_CI=1
234242 python -m pytest -m 'not slow and not network and not clipboard and not single_cpu' pandas --junitxml=test-data.xml
@@ -265,8 +273,8 @@ jobs:
265273 /opt/python/cp311-cp311/bin/python -m venv ~/virtualenvs/pandas-dev
266274 . ~/virtualenvs/pandas-dev/bin/activate
267275 python -m pip install --no-cache-dir -U pip wheel setuptools meson-python==0.13.1 meson[ninja]==1.2.1
268- python -m pip install --no-cache-dir versioneer[toml] cython numpy python-dateutil pytz pytest>=7.3.2 pytest-xdist>=2.2 .0 hypothesis>=6.46.1
269- python -m pip install --no-cache-dir --no-build-isolation -e . --config-settings=setup -args="--werror"
276+ 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
277+ python -m pip install --no-cache-dir --no-build-isolation -e . -Csetup -args="--werror"
270278 python -m pip list --no-cache-dir
271279
272280 - name : Run Tests
@@ -286,7 +294,7 @@ jobs:
286294 # In general, this will remain frozen(present, but not running) until:
287295 # - The next unreleased Python version has released beta 1
288296 # - This version should be available on GitHub Actions.
289- # - Our required build/runtime dependencies(numpy, pytz, Cython, python-dateutil)
297+ # - Our required build/runtime dependencies(numpy, Cython, python-dateutil)
290298 # support that unreleased Python version.
291299 # To unfreeze, comment out the ``if: false`` condition, and make sure you update
292300 # the name of the workflow and Python version in actions/setup-python ``python-version:``
@@ -339,8 +347,8 @@ jobs:
339347 python -m pip install --upgrade pip setuptools wheel meson[ninja]==1.2.1 meson-python==0.13.1
340348 python -m pip install --pre --extra-index-url https://pypi.anaconda.org/scientific-python-nightly-wheels/simple numpy
341349 python -m pip install versioneer[toml]
342- python -m pip install python-dateutil pytz tzdata cython hypothesis>=6.46.1 pytest>=7.3.2 pytest-xdist>=2.2 .0 pytest-cov
343- python -m pip install -ve . --no-build-isolation --no-index --no-deps --config-settings=setup -args="--werror"
350+ python -m pip install python-dateutil tzdata cython hypothesis>=6.84.0 pytest>=7.3.2 pytest-xdist>=3.4 .0 pytest-cov
351+ python -m pip install -ve . --no-build-isolation --no-index --no-deps -Csetup -args="--werror"
344352 python -m pip list
345353
346354 - name : Run Tests
@@ -371,7 +379,7 @@ jobs:
371379 fetch-depth : 0
372380
373381 - name : Set up Python Free-threading Version
374- uses : deadsnakes/action@v3.1 .0
382+ uses : deadsnakes/action@v3.2 .0
375383 with :
376384 python-version : 3.13-dev
377385 nogil : true
@@ -382,15 +390,14 @@ jobs:
382390 python -m pip install --upgrade pip setuptools wheel meson[ninja]==1.2.1 meson-python==0.13.1
383391 python -m pip install --pre --extra-index-url https://pypi.anaconda.org/scientific-python-nightly-wheels/simple numpy cython
384392 python -m pip install versioneer[toml]
385- python -m pip install python-dateutil pytz tzdata hypothesis>=6.46.1 pytest>=7.3.2 pytest-xdist>=2.2 .0 pytest-cov
386- python -m pip install -ve . --no-build-isolation --no-index --no-deps --config-settings=setup -args="--werror"
393+ python -m pip install python-dateutil pytz tzdata hypothesis>=6.84.0 pytest>=7.3.2 pytest-xdist>=3.4 .0 pytest-cov
394+ python -m pip install -ve . --no-build-isolation --no-index --no-deps -Csetup -args="--werror"
387395 python -m pip list
388396
389397 - name : Run Tests
390398 uses : ./.github/actions/run-tests
391- env :
392- PYTHON_GIL : 0
393399
400+ # NOTE: this job must be kept in sync with the Pyodide build job in wheels.yml
394401 emscripten :
395402 # Note: the Python version, Emscripten toolchain version are determined
396403 # by the Pyodide version. The appropriate versions can be found in the
0 commit comments