From 1ca24eef05421ec34a77a995f408a33c5a9afa71 Mon Sep 17 00:00:00 2001 From: Nathan Goldbaum Date: Thu, 11 Sep 2025 13:43:56 -0600 Subject: [PATCH 1/3] Add a test run on free-threaded Python 3.14 --- .github/workflows/test.yml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 47f725170bd8..16a9fb9f8d27 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -73,6 +73,14 @@ jobs: # allow_failure: true test_mypyc: true + - name: Test suite with py314t-dev-ubuntu + python: '3.14t-dev' + os: ubuntu-24.04-arm + toxenv: py + tox_extra_args: "-n 4" + # allow_failure: true + test_mypyc: true + - name: mypyc runtime tests with py39-macos python: '3.9.21' # TODO: macos-13 is the last one to support Python 3.9, change it to macos-latest when updating the Python version From 6177658d2b3dc91f00f559c51a306e7ba7b9be57 Mon Sep 17 00:00:00 2001 From: Nathan Goldbaum Date: Thu, 11 Sep 2025 13:51:49 -0600 Subject: [PATCH 2/3] drop dev suffix in python name --- .github/workflows/test.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 16a9fb9f8d27..054701f7d349 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -73,8 +73,8 @@ jobs: # allow_failure: true test_mypyc: true - - name: Test suite with py314t-dev-ubuntu - python: '3.14t-dev' + - name: Test suite with py314t-ubuntu + python: '3.14t' os: ubuntu-24.04-arm toxenv: py tox_extra_args: "-n 4" @@ -166,6 +166,8 @@ jobs: if: ${{ !(matrix.debug_build || endsWith(matrix.python, '-dev')) }} with: python-version: ${{ matrix.python }} + # allow pre-release builds to install without -dev suffix + allow-prereleases: true - name: Install tox run: | From 72aff419b173ff232eba12c9d77796921780442c Mon Sep 17 00:00:00 2001 From: Nathan Goldbaum Date: Thu, 16 Oct 2025 09:25:28 -0600 Subject: [PATCH 3/3] force-disable the GIL in 3.14t tests --- .github/workflows/test.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 054701f7d349..8af3edcb8cef 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -186,6 +186,11 @@ jobs: pip install -r test-requirements.txt CC=clang MYPYC_OPT_LEVEL=0 MYPY_USE_MYPYC=1 pip install -e . + # delete this when importing lxml.etree no longer re-enables the GIL + - name: Force-disable GIL in 3.14t tests + if: ${{ matrix.python == '3.14t' }} + run: echo "PYTHON_GIL=0" >> "$GITHUB_ENV" + - name: Setup tox environment run: | tox run -e ${{ matrix.toxenv }} --notest