|
11 | 11 | strategy: |
12 | 12 | matrix: |
13 | 13 | os: [windows-latest, ubuntu-latest, macos-latest] |
14 | | - python-version: [3.9, '3.10', 3.11, 3.12, 3.13, 3.13t, pypy3.10, pypy3.11] |
| 14 | + 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] |
15 | 15 | steps: |
16 | 16 | - name: Check out repo |
17 | 17 | uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 |
|
21 | 21 | python-version: ${{ matrix.python-version }} |
22 | 22 | - name: Check Python version |
23 | 23 | run: | |
24 | | - import sys, sysconfig |
25 | | - version = sys.version_info[:2] |
26 | | - expected_version = tuple(map(int, "${{ matrix.python-version }}".removeprefix("pypy").removesuffix("t").split("."))) |
| 24 | + import sys, sysconfig, re |
| 25 | + match = re.search(r"(\d+)\.(\d+)(?:\.(\d+))?", "${{ matrix.python-version }}") |
| 26 | + expected_version = tuple(int(g) for g in match.groups() if g is not None) |
| 27 | + version = sys.version_info[:len(expected_version)] |
27 | 28 | if version != expected_version: |
28 | 29 | print(f"::error title=Test Failure::The Python version does not match. Got {version}, expected {expected_version}.") |
29 | 30 | sys.exit(1) |
|
33 | 34 | print(f"::error title=Test Failure::The Python implementation does not match. Got {implementation}, expected {expected_implementation}.") |
34 | 35 | sys.exit(1) |
35 | 36 | threading = "free-threading" if sysconfig.get_config_var("Py_GIL_DISABLED") else "GIL" |
36 | | - expected_threading = "free-threading" if "${{ matrix.python-version }}".endswith("t") else "GIL" |
| 37 | + expected_threading = "free-threading" if "t" in "${{ matrix.python-version }}" else "GIL" |
37 | 38 | if threading != expected_threading: |
38 | 39 | print(f"::error title=Test Failure::The Python threading does not match. Got {threading}, expected {expected_threading}.") |
39 | 40 | sys.exit(1) |
|
45 | 46 | strategy: |
46 | 47 | matrix: |
47 | 48 | os: [windows-latest, ubuntu-latest, macos-latest] |
48 | | - python-version: [3.9, '3.10', 3.11, 3.12, 3.13, pypy3.10, pypy3.11] |
| 49 | + python-version: [3.9, '3.10', 3.11, 3.12, 3.13, 3.14.0-rc.3, 3.14t-dev, pypy3.10, pypy3.11] |
49 | 50 | steps: |
50 | 51 | - name: Check out repo |
51 | 52 | uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 |
|
72 | 73 | strategy: |
73 | 74 | matrix: |
74 | 75 | os: [windows-latest, ubuntu-latest, macos-latest] |
75 | | - python-version: [3.9, '3.10', 3.11, 3.12, 3.13, pypy3.10, pypy3.11] |
| 76 | + python-version: [3.9, '3.10', 3.11, 3.12, 3.13, 3.14.0-rc.3, 3.14t-dev, pypy3.10, pypy3.11] |
76 | 77 | steps: |
77 | 78 | - name: Check out repo |
78 | 79 | uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 |
@@ -104,7 +105,7 @@ jobs: |
104 | 105 | strategy: |
105 | 106 | matrix: |
106 | 107 | os: [windows-latest, ubuntu-latest, macos-latest] |
107 | | - python-version: [3.9, '3.10', 3.11, 3.12, 3.13, pypy3.10, pypy3.11] |
| 108 | + python-version: [3.9, '3.10', 3.11, 3.12, 3.13, 3.14.0-rc.3, 3.14t-dev, pypy3.10, pypy3.11] |
108 | 109 | steps: |
109 | 110 | - name: Check out repo |
110 | 111 | uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 |
@@ -219,7 +220,7 @@ jobs: |
219 | 220 | fail-fast: false # If there are failures, sometimes it is instructive to see which combinations passed |
220 | 221 | matrix: |
221 | 222 | os: [windows-latest, ubuntu-latest, macos-latest] |
222 | | - python-version: [3.9, '3.10', 3.11, 3.12, 3.13, pypy3.10, pypy3.11] |
| 223 | + python-version: [3.9, '3.10', 3.11, 3.12, 3.13, 3.14.0-rc.3, 3.14t-dev, pypy3.10, pypy3.11] |
223 | 224 | steps: |
224 | 225 | - name: Check out repo |
225 | 226 | uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 |
@@ -318,7 +319,7 @@ jobs: |
318 | 319 | strategy: |
319 | 320 | matrix: |
320 | 321 | os: [windows-latest, ubuntu-latest, macos-latest] |
321 | | - python-version: [3.9, '3.10', 3.11, 3.12, 3.13, pypy3.10, pypy3.11] |
| 322 | + python-version: [3.9, '3.10', 3.11, 3.12, 3.13, 3.14.0-rc.3, 3.14t-dev, pypy3.10, pypy3.11] |
322 | 323 | steps: |
323 | 324 | - name: Check out repo |
324 | 325 | uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 |
@@ -376,7 +377,7 @@ jobs: |
376 | 377 | strategy: |
377 | 378 | matrix: |
378 | 379 | os: [windows-latest, ubuntu-latest, macos-latest] |
379 | | - python-version: [3.9, '3.10', 3.11, 3.12, 3.13, pypy3.10, pypy3.11] |
| 380 | + python-version: [3.9, '3.10', 3.11, 3.12, 3.13, 3.14.0-rc.3, 3.14t-dev, pypy3.10, pypy3.11] |
380 | 381 | steps: |
381 | 382 | - name: Check out repo |
382 | 383 | uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 |
|
0 commit comments