@@ -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.bokerqi.topmunity/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/action@v3.1.0
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