From fdd0b36694ca18b4d0b759075dc144949282514b Mon Sep 17 00:00:00 2001 From: Brad Keryan Date: Fri, 3 Oct 2025 17:07:40 -0500 Subject: [PATCH 1/9] tests: Add 3.14 and 3.14t --- .github/workflows/test_actions.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/workflows/test_actions.yml b/.github/workflows/test_actions.yml index dd9a46c..08d7dc1 100644 --- a/.github/workflows/test_actions.yml +++ b/.github/workflows/test_actions.yml @@ -11,7 +11,7 @@ jobs: strategy: matrix: os: [windows-latest, ubuntu-latest, macos-latest] - python-version: [3.9, '3.10', 3.11, 3.12, 3.13, 3.13t, pypy3.10, pypy3.11] + python-version: [3.9, '3.10', 3.11, 3.12, 3.13, 3.13t, 3.14, 3.14t, pypy3.10, pypy3.11] steps: - name: Check out repo uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 @@ -45,7 +45,7 @@ jobs: strategy: matrix: os: [windows-latest, ubuntu-latest, macos-latest] - python-version: [3.9, '3.10', 3.11, 3.12, 3.13, pypy3.10, pypy3.11] + python-version: [3.9, '3.10', 3.11, 3.12, 3.13, 3.14, 3.14t, pypy3.10, pypy3.11] steps: - name: Check out repo uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 @@ -72,7 +72,7 @@ jobs: strategy: matrix: os: [windows-latest, ubuntu-latest, macos-latest] - python-version: [3.9, '3.10', 3.11, 3.12, 3.13, pypy3.10, pypy3.11] + python-version: [3.9, '3.10', 3.11, 3.12, 3.13, 3.14, 3.14t, pypy3.10, pypy3.11] steps: - name: Check out repo uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 @@ -104,7 +104,7 @@ jobs: strategy: matrix: os: [windows-latest, ubuntu-latest, macos-latest] - python-version: [3.9, '3.10', 3.11, 3.12, 3.13, pypy3.10, pypy3.11] + python-version: [3.9, '3.10', 3.11, 3.12, 3.13, 3.14, 3.14t, pypy3.10, pypy3.11] steps: - name: Check out repo uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 @@ -219,7 +219,7 @@ jobs: fail-fast: false # If there are failures, sometimes it is instructive to see which combinations passed matrix: os: [windows-latest, ubuntu-latest, macos-latest] - python-version: [3.9, '3.10', 3.11, 3.12, 3.13, pypy3.10, pypy3.11] + python-version: [3.9, '3.10', 3.11, 3.12, 3.13, 3.14, 3.14t, pypy3.10, pypy3.11] steps: - name: Check out repo uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 @@ -318,7 +318,7 @@ jobs: strategy: matrix: os: [windows-latest, ubuntu-latest, macos-latest] - python-version: [3.9, '3.10', 3.11, 3.12, 3.13, pypy3.10, pypy3.11] + python-version: [3.9, '3.10', 3.11, 3.12, 3.13, 3.14, 3.14t, pypy3.10, pypy3.11] steps: - name: Check out repo uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 @@ -376,7 +376,7 @@ jobs: strategy: matrix: os: [windows-latest, ubuntu-latest, macos-latest] - python-version: [3.9, '3.10', 3.11, 3.12, 3.13, pypy3.10, pypy3.11] + python-version: [3.9, '3.10', 3.11, 3.12, 3.13, 3.14, 3.14t, pypy3.10, pypy3.11] steps: - name: Check out repo uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 From ae9b6a457bb014bfafcb941d60ecc8e2a09a28e1 Mon Sep 17 00:00:00 2001 From: Brad Keryan Date: Fri, 3 Oct 2025 17:09:55 -0500 Subject: [PATCH 2/9] tests: Use 3.14rc3 --- .github/workflows/test_actions.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/workflows/test_actions.yml b/.github/workflows/test_actions.yml index 08d7dc1..22a70f0 100644 --- a/.github/workflows/test_actions.yml +++ b/.github/workflows/test_actions.yml @@ -11,7 +11,7 @@ jobs: strategy: matrix: os: [windows-latest, ubuntu-latest, macos-latest] - python-version: [3.9, '3.10', 3.11, 3.12, 3.13, 3.13t, 3.14, 3.14t, pypy3.10, pypy3.11] + python-version: [3.9, '3.10', 3.11, 3.12, 3.13, 3.13t, 3.14rc3, 3.14rc3t, pypy3.10, pypy3.11] steps: - name: Check out repo uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 @@ -45,7 +45,7 @@ jobs: strategy: matrix: os: [windows-latest, ubuntu-latest, macos-latest] - python-version: [3.9, '3.10', 3.11, 3.12, 3.13, 3.14, 3.14t, pypy3.10, pypy3.11] + python-version: [3.9, '3.10', 3.11, 3.12, 3.13, 3.14rc3, 3.14rc3t, pypy3.10, pypy3.11] steps: - name: Check out repo uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 @@ -72,7 +72,7 @@ jobs: strategy: matrix: os: [windows-latest, ubuntu-latest, macos-latest] - python-version: [3.9, '3.10', 3.11, 3.12, 3.13, 3.14, 3.14t, pypy3.10, pypy3.11] + python-version: [3.9, '3.10', 3.11, 3.12, 3.13, 3.14rc3, 3.14rc3t, pypy3.10, pypy3.11] steps: - name: Check out repo uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 @@ -104,7 +104,7 @@ jobs: strategy: matrix: os: [windows-latest, ubuntu-latest, macos-latest] - python-version: [3.9, '3.10', 3.11, 3.12, 3.13, 3.14, 3.14t, pypy3.10, pypy3.11] + python-version: [3.9, '3.10', 3.11, 3.12, 3.13, 3.14rc3, 3.14rc3t, pypy3.10, pypy3.11] steps: - name: Check out repo uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 @@ -219,7 +219,7 @@ jobs: fail-fast: false # If there are failures, sometimes it is instructive to see which combinations passed matrix: os: [windows-latest, ubuntu-latest, macos-latest] - python-version: [3.9, '3.10', 3.11, 3.12, 3.13, 3.14, 3.14t, pypy3.10, pypy3.11] + python-version: [3.9, '3.10', 3.11, 3.12, 3.13, 3.14rc3, 3.14rc3t, pypy3.10, pypy3.11] steps: - name: Check out repo uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 @@ -318,7 +318,7 @@ jobs: strategy: matrix: os: [windows-latest, ubuntu-latest, macos-latest] - python-version: [3.9, '3.10', 3.11, 3.12, 3.13, 3.14, 3.14t, pypy3.10, pypy3.11] + python-version: [3.9, '3.10', 3.11, 3.12, 3.13, 3.14rc3, 3.14rc3t, pypy3.10, pypy3.11] steps: - name: Check out repo uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 @@ -376,7 +376,7 @@ jobs: strategy: matrix: os: [windows-latest, ubuntu-latest, macos-latest] - python-version: [3.9, '3.10', 3.11, 3.12, 3.13, 3.14, 3.14t, pypy3.10, pypy3.11] + python-version: [3.9, '3.10', 3.11, 3.12, 3.13, 3.14rc3, 3.14rc3t, pypy3.10, pypy3.11] steps: - name: Check out repo uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 From 713913874ef977c2e468a57425ddb1af3ee47c63 Mon Sep 17 00:00:00 2001 From: Brad Keryan Date: Fri, 3 Oct 2025 17:12:59 -0500 Subject: [PATCH 3/9] tests: 3.14.0-rc.3 --- .github/workflows/test_actions.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/workflows/test_actions.yml b/.github/workflows/test_actions.yml index 22a70f0..7eb0260 100644 --- a/.github/workflows/test_actions.yml +++ b/.github/workflows/test_actions.yml @@ -11,7 +11,7 @@ jobs: strategy: matrix: os: [windows-latest, ubuntu-latest, macos-latest] - python-version: [3.9, '3.10', 3.11, 3.12, 3.13, 3.13t, 3.14rc3, 3.14rc3t, pypy3.10, pypy3.11] + python-version: [3.9, '3.10', 3.11, 3.12, 3.13, 3.13t, 3.14.0-rc.3, 3.14.0-rc.3t, pypy3.10, pypy3.11] steps: - name: Check out repo uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 @@ -45,7 +45,7 @@ jobs: strategy: matrix: os: [windows-latest, ubuntu-latest, macos-latest] - python-version: [3.9, '3.10', 3.11, 3.12, 3.13, 3.14rc3, 3.14rc3t, pypy3.10, pypy3.11] + python-version: [3.9, '3.10', 3.11, 3.12, 3.13, 3.14.0-rc.3, 3.14.0-rc.3t, pypy3.10, pypy3.11] steps: - name: Check out repo uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 @@ -72,7 +72,7 @@ jobs: strategy: matrix: os: [windows-latest, ubuntu-latest, macos-latest] - python-version: [3.9, '3.10', 3.11, 3.12, 3.13, 3.14rc3, 3.14rc3t, pypy3.10, pypy3.11] + python-version: [3.9, '3.10', 3.11, 3.12, 3.13, 3.14.0-rc.3, 3.14.0-rc.3t, pypy3.10, pypy3.11] steps: - name: Check out repo uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 @@ -104,7 +104,7 @@ jobs: strategy: matrix: os: [windows-latest, ubuntu-latest, macos-latest] - python-version: [3.9, '3.10', 3.11, 3.12, 3.13, 3.14rc3, 3.14rc3t, pypy3.10, pypy3.11] + python-version: [3.9, '3.10', 3.11, 3.12, 3.13, 3.14.0-rc.3, 3.14.0-rc.3t, pypy3.10, pypy3.11] steps: - name: Check out repo uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 @@ -219,7 +219,7 @@ jobs: fail-fast: false # If there are failures, sometimes it is instructive to see which combinations passed matrix: os: [windows-latest, ubuntu-latest, macos-latest] - python-version: [3.9, '3.10', 3.11, 3.12, 3.13, 3.14rc3, 3.14rc3t, pypy3.10, pypy3.11] + python-version: [3.9, '3.10', 3.11, 3.12, 3.13, 3.14.0-rc.3, 3.14.0-rc.3t, pypy3.10, pypy3.11] steps: - name: Check out repo uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 @@ -318,7 +318,7 @@ jobs: strategy: matrix: os: [windows-latest, ubuntu-latest, macos-latest] - python-version: [3.9, '3.10', 3.11, 3.12, 3.13, 3.14rc3, 3.14rc3t, pypy3.10, pypy3.11] + python-version: [3.9, '3.10', 3.11, 3.12, 3.13, 3.14.0-rc.3, 3.14.0-rc.3t, pypy3.10, pypy3.11] steps: - name: Check out repo uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 @@ -376,7 +376,7 @@ jobs: strategy: matrix: os: [windows-latest, ubuntu-latest, macos-latest] - python-version: [3.9, '3.10', 3.11, 3.12, 3.13, 3.14rc3, 3.14rc3t, pypy3.10, pypy3.11] + python-version: [3.9, '3.10', 3.11, 3.12, 3.13, 3.14.0-rc.3, 3.14.0-rc.3t, pypy3.10, pypy3.11] steps: - name: Check out repo uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 From 165d9d39d38abb1d1192c0cede9b9f7d08038f94 Mon Sep 17 00:00:00 2001 From: Brad Keryan Date: Fri, 3 Oct 2025 17:14:20 -0500 Subject: [PATCH 4/9] tests: Remove 3.14t for now --- .github/workflows/test_actions.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/workflows/test_actions.yml b/.github/workflows/test_actions.yml index 7eb0260..e3c0a0a 100644 --- a/.github/workflows/test_actions.yml +++ b/.github/workflows/test_actions.yml @@ -11,7 +11,7 @@ jobs: strategy: matrix: os: [windows-latest, ubuntu-latest, macos-latest] - python-version: [3.9, '3.10', 3.11, 3.12, 3.13, 3.13t, 3.14.0-rc.3, 3.14.0-rc.3t, pypy3.10, pypy3.11] + python-version: [3.9, '3.10', 3.11, 3.12, 3.13, 3.13t, 3.14.0-rc.3, pypy3.10, pypy3.11] steps: - name: Check out repo uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 @@ -45,7 +45,7 @@ jobs: strategy: matrix: os: [windows-latest, ubuntu-latest, macos-latest] - python-version: [3.9, '3.10', 3.11, 3.12, 3.13, 3.14.0-rc.3, 3.14.0-rc.3t, pypy3.10, pypy3.11] + python-version: [3.9, '3.10', 3.11, 3.12, 3.13, 3.14.0-rc.3, pypy3.10, pypy3.11] steps: - name: Check out repo uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 @@ -72,7 +72,7 @@ jobs: strategy: matrix: os: [windows-latest, ubuntu-latest, macos-latest] - python-version: [3.9, '3.10', 3.11, 3.12, 3.13, 3.14.0-rc.3, 3.14.0-rc.3t, pypy3.10, pypy3.11] + python-version: [3.9, '3.10', 3.11, 3.12, 3.13, 3.14.0-rc.3, pypy3.10, pypy3.11] steps: - name: Check out repo uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 @@ -104,7 +104,7 @@ jobs: strategy: matrix: os: [windows-latest, ubuntu-latest, macos-latest] - python-version: [3.9, '3.10', 3.11, 3.12, 3.13, 3.14.0-rc.3, 3.14.0-rc.3t, pypy3.10, pypy3.11] + python-version: [3.9, '3.10', 3.11, 3.12, 3.13, 3.14.0-rc.3, pypy3.10, pypy3.11] steps: - name: Check out repo uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 @@ -219,7 +219,7 @@ jobs: fail-fast: false # If there are failures, sometimes it is instructive to see which combinations passed matrix: os: [windows-latest, ubuntu-latest, macos-latest] - python-version: [3.9, '3.10', 3.11, 3.12, 3.13, 3.14.0-rc.3, 3.14.0-rc.3t, pypy3.10, pypy3.11] + python-version: [3.9, '3.10', 3.11, 3.12, 3.13, 3.14.0-rc.3, pypy3.10, pypy3.11] steps: - name: Check out repo uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 @@ -318,7 +318,7 @@ jobs: strategy: matrix: os: [windows-latest, ubuntu-latest, macos-latest] - python-version: [3.9, '3.10', 3.11, 3.12, 3.13, 3.14.0-rc.3, 3.14.0-rc.3t, pypy3.10, pypy3.11] + python-version: [3.9, '3.10', 3.11, 3.12, 3.13, 3.14.0-rc.3, pypy3.10, pypy3.11] steps: - name: Check out repo uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 @@ -376,7 +376,7 @@ jobs: strategy: matrix: os: [windows-latest, ubuntu-latest, macos-latest] - python-version: [3.9, '3.10', 3.11, 3.12, 3.13, 3.14.0-rc.3, 3.14.0-rc.3t, pypy3.10, pypy3.11] + python-version: [3.9, '3.10', 3.11, 3.12, 3.13, 3.14.0-rc.3, pypy3.10, pypy3.11] steps: - name: Check out repo uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 From 96b6aa726722b0630bb91ee8549acd2c97417e2b Mon Sep 17 00:00:00 2001 From: Brad Keryan Date: Fri, 3 Oct 2025 17:35:19 -0500 Subject: [PATCH 5/9] tests: Remap 3.14.0-rc.3 to 3.14.0rc3 --- .github/workflows/test_actions.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test_actions.yml b/.github/workflows/test_actions.yml index e3c0a0a..f5407ba 100644 --- a/.github/workflows/test_actions.yml +++ b/.github/workflows/test_actions.yml @@ -23,7 +23,7 @@ jobs: run: | import sys, sysconfig version = sys.version_info[:2] - expected_version = tuple(map(int, "${{ matrix.python-version }}".removeprefix("pypy").removesuffix("t").split("."))) + expected_version = tuple(map(int, "${{ matrix.python-version }}".removeprefix("pypy").removesuffix("t").replace("-a.", "a").replace("-b.", "b").replace("-rc.", "rc").split("."))) if version != expected_version: print(f"::error title=Test Failure::The Python version does not match. Got {version}, expected {expected_version}.") sys.exit(1) From 6986d4efbbd865067b631c8a3e578cae187d3902 Mon Sep 17 00:00:00 2001 From: Brad Keryan Date: Fri, 3 Oct 2025 17:40:53 -0500 Subject: [PATCH 6/9] tests: Ignore .0-rc.3 --- .github/workflows/test_actions.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test_actions.yml b/.github/workflows/test_actions.yml index f5407ba..31bcb5b 100644 --- a/.github/workflows/test_actions.yml +++ b/.github/workflows/test_actions.yml @@ -23,7 +23,7 @@ jobs: run: | import sys, sysconfig version = sys.version_info[:2] - expected_version = tuple(map(int, "${{ matrix.python-version }}".removeprefix("pypy").removesuffix("t").replace("-a.", "a").replace("-b.", "b").replace("-rc.", "rc").split("."))) + expected_version = tuple(map(int, "${{ matrix.python-version }}".removeprefix("pypy").removesuffix("t").split(".")[:2])) if version != expected_version: print(f"::error title=Test Failure::The Python version does not match. Got {version}, expected {expected_version}.") sys.exit(1) From 058a57ac0c8252bc87632e86872ecd842cf9b045 Mon Sep 17 00:00:00 2001 From: Brad Keryan Date: Fri, 3 Oct 2025 17:56:27 -0500 Subject: [PATCH 7/9] tests: Redo version parsing --- .github/workflows/test_actions.yml | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/.github/workflows/test_actions.yml b/.github/workflows/test_actions.yml index 31bcb5b..5279a77 100644 --- a/.github/workflows/test_actions.yml +++ b/.github/workflows/test_actions.yml @@ -11,7 +11,7 @@ jobs: strategy: matrix: os: [windows-latest, ubuntu-latest, macos-latest] - python-version: [3.9, '3.10', 3.11, 3.12, 3.13, 3.13t, 3.14.0-rc.3, pypy3.10, pypy3.11] + python-version: [3.9, '3.10', 3.11, 3.12, 3.13, 3.13t, 3.14.0-rc.3, 3.14.0t-rc.3, pypy3.10, pypy3.11] steps: - name: Check out repo uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 @@ -21,9 +21,10 @@ jobs: python-version: ${{ matrix.python-version }} - name: Check Python version run: | - import sys, sysconfig - version = sys.version_info[:2] - expected_version = tuple(map(int, "${{ matrix.python-version }}".removeprefix("pypy").removesuffix("t").split(".")[:2])) + import sys, sysconfig, re + match = re.search(r"(\d+)\.(\d+)(?:\.(\d+))?", "${{ matrix.python-version }}") + expected_version = tuple(int(g) for g in match.groups() if g is not None) + version = sys.version_info[:len(expected_version)] if version != expected_version: print(f"::error title=Test Failure::The Python version does not match. Got {version}, expected {expected_version}.") sys.exit(1) @@ -45,7 +46,7 @@ jobs: strategy: matrix: os: [windows-latest, ubuntu-latest, macos-latest] - python-version: [3.9, '3.10', 3.11, 3.12, 3.13, 3.14.0-rc.3, pypy3.10, pypy3.11] + python-version: [3.9, '3.10', 3.11, 3.12, 3.13, 3.14.0-rc.3, 3.14.0t-rc.3, pypy3.10, pypy3.11] steps: - name: Check out repo uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 @@ -72,7 +73,7 @@ jobs: strategy: matrix: os: [windows-latest, ubuntu-latest, macos-latest] - python-version: [3.9, '3.10', 3.11, 3.12, 3.13, 3.14.0-rc.3, pypy3.10, pypy3.11] + python-version: [3.9, '3.10', 3.11, 3.12, 3.13, 3.14.0-rc.3, 3.14.0t-rc.3, pypy3.10, pypy3.11] steps: - name: Check out repo uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 @@ -104,7 +105,7 @@ jobs: strategy: matrix: os: [windows-latest, ubuntu-latest, macos-latest] - python-version: [3.9, '3.10', 3.11, 3.12, 3.13, 3.14.0-rc.3, pypy3.10, pypy3.11] + python-version: [3.9, '3.10', 3.11, 3.12, 3.13, 3.14.0-rc.3, 3.14.0t-rc.3, pypy3.10, pypy3.11] steps: - name: Check out repo uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 @@ -219,7 +220,7 @@ jobs: fail-fast: false # If there are failures, sometimes it is instructive to see which combinations passed matrix: os: [windows-latest, ubuntu-latest, macos-latest] - python-version: [3.9, '3.10', 3.11, 3.12, 3.13, 3.14.0-rc.3, pypy3.10, pypy3.11] + python-version: [3.9, '3.10', 3.11, 3.12, 3.13, 3.14.0-rc.3, 3.14.0t-rc.3, pypy3.10, pypy3.11] steps: - name: Check out repo uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 @@ -318,7 +319,7 @@ jobs: strategy: matrix: os: [windows-latest, ubuntu-latest, macos-latest] - python-version: [3.9, '3.10', 3.11, 3.12, 3.13, 3.14.0-rc.3, pypy3.10, pypy3.11] + python-version: [3.9, '3.10', 3.11, 3.12, 3.13, 3.14.0-rc.3, 3.14.0t-rc.3, pypy3.10, pypy3.11] steps: - name: Check out repo uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 @@ -376,7 +377,7 @@ jobs: strategy: matrix: os: [windows-latest, ubuntu-latest, macos-latest] - python-version: [3.9, '3.10', 3.11, 3.12, 3.13, 3.14.0-rc.3, pypy3.10, pypy3.11] + python-version: [3.9, '3.10', 3.11, 3.12, 3.13, 3.14.0-rc.3, 3.14.0t-rc.3, pypy3.10, pypy3.11] steps: - name: Check out repo uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 From aae848858e9cf51024282359b10dc6eeb45d02df Mon Sep 17 00:00:00 2001 From: Brad Keryan Date: Fri, 3 Oct 2025 18:04:32 -0500 Subject: [PATCH 8/9] tests: Try 3.14t-dev setup-python has limited support for specifying freethreading in the version string, and basically supports \d+.\d+(\.d+)?t and \d+.\d+t-dev --- .github/workflows/test_actions.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/workflows/test_actions.yml b/.github/workflows/test_actions.yml index 5279a77..a64a552 100644 --- a/.github/workflows/test_actions.yml +++ b/.github/workflows/test_actions.yml @@ -11,7 +11,7 @@ jobs: strategy: matrix: os: [windows-latest, ubuntu-latest, macos-latest] - python-version: [3.9, '3.10', 3.11, 3.12, 3.13, 3.13t, 3.14.0-rc.3, 3.14.0t-rc.3, pypy3.10, pypy3.11] + python-version: [3.9, '3.10', 3.11, 3.12, 3.13, 3.13t, 3.14.0-rc.3, 3.14t-dev, pypy3.10, pypy3.11] steps: - name: Check out repo uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 @@ -46,7 +46,7 @@ jobs: strategy: matrix: os: [windows-latest, ubuntu-latest, macos-latest] - python-version: [3.9, '3.10', 3.11, 3.12, 3.13, 3.14.0-rc.3, 3.14.0t-rc.3, pypy3.10, pypy3.11] + python-version: [3.9, '3.10', 3.11, 3.12, 3.13, 3.14.0-rc.3, 3.14t-dev, pypy3.10, pypy3.11] steps: - name: Check out repo uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 @@ -73,7 +73,7 @@ jobs: strategy: matrix: os: [windows-latest, ubuntu-latest, macos-latest] - python-version: [3.9, '3.10', 3.11, 3.12, 3.13, 3.14.0-rc.3, 3.14.0t-rc.3, pypy3.10, pypy3.11] + python-version: [3.9, '3.10', 3.11, 3.12, 3.13, 3.14.0-rc.3, 3.14t-dev, pypy3.10, pypy3.11] steps: - name: Check out repo uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 @@ -105,7 +105,7 @@ jobs: strategy: matrix: os: [windows-latest, ubuntu-latest, macos-latest] - python-version: [3.9, '3.10', 3.11, 3.12, 3.13, 3.14.0-rc.3, 3.14.0t-rc.3, pypy3.10, pypy3.11] + python-version: [3.9, '3.10', 3.11, 3.12, 3.13, 3.14.0-rc.3, 3.14t-dev, pypy3.10, pypy3.11] steps: - name: Check out repo uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 @@ -220,7 +220,7 @@ jobs: fail-fast: false # If there are failures, sometimes it is instructive to see which combinations passed matrix: os: [windows-latest, ubuntu-latest, macos-latest] - python-version: [3.9, '3.10', 3.11, 3.12, 3.13, 3.14.0-rc.3, 3.14.0t-rc.3, pypy3.10, pypy3.11] + python-version: [3.9, '3.10', 3.11, 3.12, 3.13, 3.14.0-rc.3, 3.14t-dev, pypy3.10, pypy3.11] steps: - name: Check out repo uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 @@ -319,7 +319,7 @@ jobs: strategy: matrix: os: [windows-latest, ubuntu-latest, macos-latest] - python-version: [3.9, '3.10', 3.11, 3.12, 3.13, 3.14.0-rc.3, 3.14.0t-rc.3, pypy3.10, pypy3.11] + python-version: [3.9, '3.10', 3.11, 3.12, 3.13, 3.14.0-rc.3, 3.14t-dev, pypy3.10, pypy3.11] steps: - name: Check out repo uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 @@ -377,7 +377,7 @@ jobs: strategy: matrix: os: [windows-latest, ubuntu-latest, macos-latest] - python-version: [3.9, '3.10', 3.11, 3.12, 3.13, 3.14.0-rc.3, 3.14.0t-rc.3, pypy3.10, pypy3.11] + python-version: [3.9, '3.10', 3.11, 3.12, 3.13, 3.14.0-rc.3, 3.14t-dev, pypy3.10, pypy3.11] steps: - name: Check out repo uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 From 0032928da3432853ac16e1e14ffede8da56ac75c Mon Sep 17 00:00:00 2001 From: Brad Keryan Date: Fri, 3 Oct 2025 18:06:00 -0500 Subject: [PATCH 9/9] tests: Fix free-threading check --- .github/workflows/test_actions.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test_actions.yml b/.github/workflows/test_actions.yml index a64a552..9b803bb 100644 --- a/.github/workflows/test_actions.yml +++ b/.github/workflows/test_actions.yml @@ -34,7 +34,7 @@ jobs: print(f"::error title=Test Failure::The Python implementation does not match. Got {implementation}, expected {expected_implementation}.") sys.exit(1) threading = "free-threading" if sysconfig.get_config_var("Py_GIL_DISABLED") else "GIL" - expected_threading = "free-threading" if "${{ matrix.python-version }}".endswith("t") else "GIL" + expected_threading = "free-threading" if "t" in "${{ matrix.python-version }}" else "GIL" if threading != expected_threading: print(f"::error title=Test Failure::The Python threading does not match. Got {threading}, expected {expected_threading}.") sys.exit(1)