From b9a9fbd9c937875b25ee493968811a2410677b70 Mon Sep 17 00:00:00 2001 From: Lysandros Nikolaou Date: Thu, 20 Jun 2024 14:53:40 +0200 Subject: [PATCH 1/4] CI: Set up CI for the free-threaded build of 3.13 --- .github/workflows/unit-tests.yml | 49 ++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) diff --git a/.github/workflows/unit-tests.yml b/.github/workflows/unit-tests.yml index 1b88d4d90d3e1..e6c56e84a0027 100644 --- a/.github/workflows/unit-tests.yml +++ b/.github/workflows/unit-tests.yml @@ -347,6 +347,55 @@ jobs: - name: Run Tests uses: ./.github/actions/run-tests + python-freethreading: + defaults: + run: + shell: bash -eou pipefail {0} + runs-on: ${{ matrix.os }} + strategy: + fail-fast: false + matrix: + # Separate out macOS 13 and 14, since macOS 14 is arm64 only + os: [ubuntu-22.04, macOS-13, macOS-14] + + timeout-minutes: 90 + + concurrency: + # https://github.community/t/concurrecy-not-work-for-push/183068/7 + group: ${{ github.event_name == 'push' && github.run_number || github.ref }}-${{ matrix.os }}-${{ matrix.pytest_target }}-dev + cancel-in-progress: true + + env: + PYTEST_WORKERS: "auto" + PANDAS_CI: 1 + PATTERN: "not slow and not network and not clipboard and not single_cpu" + PYTEST_TARGET: pandas + + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - name: Set up Python Free-threading Version + uses: deadsnakes/action@v3.1.0 + with: + python-version: 3.13-dev + nogil: true + + - name: Build Environment + run: | + python --version + python -m pip install --upgrade --pre pip + python -m pip install --upgrade setuptools wheel meson[ninja]==1.2.1 meson-python==0.13.1 + python -m pip install --pre --extra-index-url https://pypi.anaconda.org/scientific-python-nightly-wheels/simple numpy cython + python -m pip install versioneer[toml] + python -m pip install python-dateutil pytz tzdata hypothesis>=6.46.1 pytest>=7.3.2 pytest-xdist>=2.2.0 pytest-cov + python -m pip install -ve . --no-build-isolation --no-index --no-deps --config-settings=setup-args="--werror" + python -m pip list + + - name: Run Tests + uses: ./.github/actions/run-tests + emscripten: # Note: the Python version, Emscripten toolchain version are determined # by the Pyodide version. The appropriate versions can be found in the From 5ccc32b3ad4dd92d25958497ab0cb746035c5a0b Mon Sep 17 00:00:00 2001 From: Lysandros Nikolaou Date: Thu, 20 Jun 2024 15:45:49 +0200 Subject: [PATCH 2/4] Only run CI on ubuntu --- .github/workflows/unit-tests.yml | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/.github/workflows/unit-tests.yml b/.github/workflows/unit-tests.yml index e6c56e84a0027..8cbe365617f29 100644 --- a/.github/workflows/unit-tests.yml +++ b/.github/workflows/unit-tests.yml @@ -351,12 +351,7 @@ jobs: defaults: run: shell: bash -eou pipefail {0} - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - # Separate out macOS 13 and 14, since macOS 14 is arm64 only - os: [ubuntu-22.04, macOS-13, macOS-14] + runs-on: ubuntu-22.04 timeout-minutes: 90 From 6e79c30960960155a8a9eb3c0a1200fcc2549925 Mon Sep 17 00:00:00 2001 From: Lysandros Nikolaou Date: Tue, 25 Jun 2024 12:11:03 +0200 Subject: [PATCH 3/4] No need for prerelease pip anymore --- .github/workflows/unit-tests.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/unit-tests.yml b/.github/workflows/unit-tests.yml index b93131146c822..f20951be316cd 100644 --- a/.github/workflows/unit-tests.yml +++ b/.github/workflows/unit-tests.yml @@ -379,8 +379,7 @@ jobs: - name: Build Environment run: | python --version - python -m pip install --upgrade --pre pip - python -m pip install --upgrade setuptools wheel meson[ninja]==1.2.1 meson-python==0.13.1 + python -m pip install --upgrade pip setuptools wheel meson[ninja]==1.2.1 meson-python==0.13.1 python -m pip install --pre --extra-index-url https://pypi.anaconda.org/scientific-python-nightly-wheels/simple numpy cython python -m pip install versioneer[toml] python -m pip install python-dateutil pytz tzdata hypothesis>=6.46.1 pytest>=7.3.2 pytest-xdist>=2.2.0 pytest-cov From 9afe12bcfe257f67fc26327f7968f520d71020f0 Mon Sep 17 00:00:00 2001 From: Lysandros Nikolaou Date: Wed, 26 Jun 2024 10:43:15 +0200 Subject: [PATCH 4/4] Update .github/workflows/unit-tests.yml Co-authored-by: Matthew Roeschke <10647082+mroeschke@users.noreply.github.com> --- .github/workflows/unit-tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/unit-tests.yml b/.github/workflows/unit-tests.yml index f20951be316cd..d2240192982fc 100644 --- a/.github/workflows/unit-tests.yml +++ b/.github/workflows/unit-tests.yml @@ -356,7 +356,7 @@ jobs: concurrency: # https://github.community/t/concurrecy-not-work-for-push/183068/7 - group: ${{ github.event_name == 'push' && github.run_number || github.ref }}-${{ matrix.os }}-${{ matrix.pytest_target }}-dev + group: ${{ github.event_name == 'push' && github.run_number || github.ref }}-${{ matrix.os }}-python-freethreading-dev cancel-in-progress: true env: