Skip to content

Commit 558b703

Browse files
committed
GitHub Actions: Add Python 3.14 and 3.14t to the testing
1 parent d78e7ad commit 558b703

File tree

3 files changed

+24
-10
lines changed

3 files changed

+24
-10
lines changed

.github/workflows/tests.yml

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,10 @@ jobs:
1616
# https://help.github.com/articles/virtual-environments-for-github-actions
1717
platform:
1818
- ubuntu-latest # ubuntu-24.04
19-
- macos-13 # macos-13 (Intel)
20-
- macos-latest # macos-14 (M1)
21-
- windows-latest # windows-2022
22-
python-version: [3.7, 3.8, 3.9, '3.10', 3.11, 3.12, 3.13, pypy-3.7, pypy-3.8, pypy-3.9, pypy-3.10, pypy-3.11]
19+
- macos-15-intel # macos-13 (Intel)
20+
- macos-latest # macos-15 (M1)
21+
- windows-latest # windows-2025
22+
python-version: [3.7, 3.8, 3.9, '3.10', 3.11, 3.12, 3.13, 3.13t, 3.14, 3.14t, pypy-3.7, pypy-3.8, pypy-3.9, pypy-3.10, pypy-3.11]
2323
include:
2424
- platform: ubuntu-22.04
2525
python-version: 3.7
@@ -36,9 +36,9 @@ jobs:
3636
- platform: windows-latest
3737
python-version: pypy-3.9
3838
steps:
39-
- uses: actions/checkout@v4
39+
- uses: actions/checkout@v5
4040
if: ${{ ! startsWith(matrix.python-version, 'pypy-') }}
41-
- uses: actions/checkout@v4
41+
- uses: actions/checkout@v5
4242
if: ${{ startsWith(matrix.python-version, 'pypy-') }}
4343
# Using actions/checkout@v2 or later with pypy causes an error
4444
# https://foss.heptapod.net/pypy/pypy/-/issues/3640
@@ -57,12 +57,12 @@ jobs:
5757
- name: Test with tox
5858
run: tox
5959
- name: Upload coverage.xml
60-
if: ${{ matrix.platform == 'ubuntu-latest' && matrix.python-version == '3.13' }}
60+
if: ${{ matrix.platform == 'ubuntu-latest' && matrix.python-version == '3.14' }}
6161
uses: actions/upload-artifact@v4
6262
with:
6363
name: tox-gh-actions-coverage
6464
path: coverage.xml
6565
if-no-files-found: error
6666
- name: Upload coverage.xml to codecov
67-
if: ${{ matrix.platform == 'ubuntu-latest' && matrix.python-version == '3.13' }}
67+
if: ${{ matrix.platform == 'ubuntu-latest' && matrix.python-version == '3.14' }}
6868
uses: codecov/codecov-action@0565863a31f2c772f9f0395002a31e3f06189574 # v5.4.0

setup.cfg

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ skip_missing_interpreters = true
55
envlist =
66
mypy
77
pre-commit
8-
{py37,py38,py39,py310,py311,py312,py313,pypy3}-toxlatest
8+
{py37,py38,py39,py310,py311,py312,py313,py313t,py314,py314t,pypy3}-toxlatest
99

1010
[gh-actions]
1111
python =
@@ -15,7 +15,14 @@ python =
1515
3.10: py310
1616
3.11: py311, mypy
1717
3.12: py312
18-
3.13: py313, pre-commit
18+
3.13: py313, py313t
19+
# What should we do here?!?
20+
# Left side will always be Python `3.14` if it is python3.14 or python3.14t
21+
# Right side must be `py314` or `py314t` so one or the other will always fail.
22+
# Is there a way to OR the right side? `3.14: py314 | py314t`
23+
# 3.14: py314, pre-commit
24+
3.14: py314, py314t, pre-commit
25+
# 3.14t: py314t, pre-commit # Never happepens.
1926
pypy-3: pypy3
2027

2128
[testenv]

tests/test_integration.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,14 @@
88
sys.implementation.name != "cpython", reason="Requires CPython to run this test"
99
)
1010

11+
skip_if_free_threaded = pytest.mark.skipif(
12+
sys.version_info >= (3, 13) and not sys._is_gil_enabled(),
13+
reason="Fails on free threaded builds",
14+
)
15+
1116

1217
@pytest.mark.integration
18+
@skip_if_free_threaded
1319
@requires_cpython
1420
def test_sunny_day_with_legacy_command(
1521
monkeypatch: MonkeyPatch, tox_project: ToxProjectCreator
@@ -40,6 +46,7 @@ def test_sunny_day_with_legacy_command(
4046

4147

4248
@pytest.mark.integration
49+
@skip_if_free_threaded
4350
@requires_cpython
4451
def test_sunny_day_with_run_command(
4552
monkeypatch: MonkeyPatch, tox_project: ToxProjectCreator

0 commit comments

Comments
 (0)