Skip to content

Commit b9a9fbd

Browse files
committed
CI: Set up CI for the free-threaded build of 3.13
1 parent dd87dd3 commit b9a9fbd

File tree

1 file changed

+49
-0
lines changed

1 file changed

+49
-0
lines changed

.github/workflows/unit-tests.yml

+49
Original file line numberDiff line numberDiff line change
@@ -347,6 +347,55 @@ jobs:
347347
- name: Run Tests
348348
uses: ./.github/actions/run-tests
349349

350+
python-freethreading:
351+
defaults:
352+
run:
353+
shell: bash -eou pipefail {0}
354+
runs-on: ${{ matrix.os }}
355+
strategy:
356+
fail-fast: false
357+
matrix:
358+
# Separate out macOS 13 and 14, since macOS 14 is arm64 only
359+
os: [ubuntu-22.04, macOS-13, macOS-14]
360+
361+
timeout-minutes: 90
362+
363+
concurrency:
364+
# https://github.community/t/concurrecy-not-work-for-push/183068/7
365+
group: ${{ github.event_name == 'push' && github.run_number || github.ref }}-${{ matrix.os }}-${{ matrix.pytest_target }}-dev
366+
cancel-in-progress: true
367+
368+
env:
369+
PYTEST_WORKERS: "auto"
370+
PANDAS_CI: 1
371+
PATTERN: "not slow and not network and not clipboard and not single_cpu"
372+
PYTEST_TARGET: pandas
373+
374+
steps:
375+
- uses: actions/checkout@v4
376+
with:
377+
fetch-depth: 0
378+
379+
- name: Set up Python Free-threading Version
380+
uses: deadsnakes/[email protected]
381+
with:
382+
python-version: 3.13-dev
383+
nogil: true
384+
385+
- name: Build Environment
386+
run: |
387+
python --version
388+
python -m pip install --upgrade --pre pip
389+
python -m pip install --upgrade setuptools wheel meson[ninja]==1.2.1 meson-python==0.13.1
390+
python -m pip install --pre --extra-index-url https://pypi.anaconda.org/scientific-python-nightly-wheels/simple numpy cython
391+
python -m pip install versioneer[toml]
392+
python -m pip install python-dateutil pytz tzdata hypothesis>=6.46.1 pytest>=7.3.2 pytest-xdist>=2.2.0 pytest-cov
393+
python -m pip install -ve . --no-build-isolation --no-index --no-deps --config-settings=setup-args="--werror"
394+
python -m pip list
395+
396+
- name: Run Tests
397+
uses: ./.github/actions/run-tests
398+
350399
emscripten:
351400
# Note: the Python version, Emscripten toolchain version are determined
352401
# by the Pyodide version. The appropriate versions can be found in the

0 commit comments

Comments
 (0)