Skip to content

Commit 6028c3c

Browse files
committed
Support Python 3.14.x
1 parent cd7aca1 commit 6028c3c

File tree

3 files changed

+44
-39
lines changed

3 files changed

+44
-39
lines changed

.github/workflows/ci-tests.yml

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ jobs:
2222
matrix:
2323
# The README.rst file mentions the versions tested, please update it as well
2424
py-ver-major: [3]
25-
py-ver-minor: [9, 10, 11, 12, 13]
25+
py-ver-minor: [9, 10, 11, 12, 13, 14]
2626
step: [lint, unit, mypy, bandit]
2727

2828
env:
@@ -50,6 +50,9 @@ jobs:
5050
pip install -U pip setuptools wheel
5151
pip install "tox>4,<5" "tox-gh-actions>3"
5252
53+
- name: install dev libraries
54+
run: sudo apt-get install -y libxml2-dev libxslt-dev
55+
5356
- name: MyPy cache
5457
if: ${{ matrix.step == 'mypy' }}
5558
uses: actions/cache@v4
@@ -70,15 +73,15 @@ jobs:
7073
tox-style:
7174
name: CI linters via Tox
7275

73-
runs-on: ubuntu-22.04
76+
runs-on: ubuntu-24.04
7477

7578
strategy:
7679
matrix:
7780
step: [lintreadme, pydocstyle]
7881

7982
env:
80-
py-semver: "3.12"
81-
TOXENV: ${{ format('py312-{0}', matrix.step) }}
83+
py-semver: "3.13"
84+
TOXENV: ${{ format('py313-{0}', matrix.step) }}
8285

8386
steps:
8487
- uses: actions/checkout@v5
@@ -110,15 +113,15 @@ jobs:
110113
release_test:
111114
name: cwltest release test
112115

113-
runs-on: ubuntu-22.04
116+
runs-on: ubuntu-24.04
114117

115118
steps:
116119
- uses: actions/checkout@v5
117120

118121
- name: Set up Python
119122
uses: actions/setup-python@v5
120123
with:
121-
python-version: "3.12"
124+
python-version: "3.13"
122125
cache: pip
123126
cache-dependency-path: |
124127
requirements.txt

pyproject.toml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,10 @@ classifiers = [
2222
"Programming Language :: Python :: 3.11",
2323
"Programming Language :: Python :: 3.12",
2424
"Programming Language :: Python :: 3.13",
25+
"Programming Language :: Python :: 3.14",
2526
"Typing :: Typed",
2627
]
27-
requires-python = ">=3.9,<3.14"
28+
requires-python = ">=3.9,<3.15"
2829
dynamic = ["version", "dependencies"]
2930

3031
[project.readme]

tox.ini

Lines changed: 33 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
[tox]
22
envlist =
3-
py3{9,10,11,12,13}-lint,
4-
py3{9,10,11,12,13}-unit,
5-
py3{9,10,11,12,13}-bandit,
6-
py3{9,10,11,12,13}-mypy,
3+
py3{9,10,11,12,13,14}-lint,
4+
py3{9,10,11,12,13,14}-unit,
5+
py3{9,10,11,12,13,14}-bandit,
6+
py3{9,10,11,12,13,14}-mypy,
77
py312-lintreadme,
88
py312-pydocstyle
99

@@ -22,65 +22,66 @@ python =
2222
3.11: py311
2323
3.12: py312
2424
3.13: py313
25+
3.14: py314
2526

2627
[testenv]
2728
skipsdist =
28-
py3{9,10,11,12,13}-!{unit,mypy,lintreadme} = True
29+
py3{9,10,11,12,13,14}-!{unit,mypy,lintreadme} = True
2930

3031
description =
31-
py3{9,10,11,12,13}-unit: Run the unit tests
32-
py3{9,10,11,12,13}-lint: Lint the Python code
33-
py3{9,10,11,12,13}-bandit: Search for common security issues
34-
py3{9,10,11,12,13}-mypy: Check for type safety
35-
py312-pydocstyle: docstring style checker
36-
py312-lintreadme: Lint the README.rst->.md conversion
32+
py3{9,10,11,12,13,14}-unit: Run the unit tests
33+
py3{9,10,11,12,13,14}-lint: Lint the Python code
34+
py3{9,10,11,12,13,14}-bandit: Search for common security issues
35+
py3{9,10,11,12,13,14}-mypy: Check for type safety
36+
py313-pydocstyle: docstring style checker
37+
py313-lintreadme: Lint the README.rst->.md conversion
3738

3839
passenv =
3940
CI
4041
GITHUB_*
4142

4243
deps =
43-
py3{9,10,11,12,13}-{unit,mypy}: -rrequirements.txt
44-
py3{9,10,11,12,13}-{unit,mypy}: -rtest-requirements.txt
45-
py3{9,10,11,12,13}-lint: flake8-bugbear
46-
py3{9,10,11,12,13}-lint: black~=23.1
47-
py3{9,10,11,12,13}-bandit: bandit
48-
py3{9,10,11,12,13}-mypy: -rmypy-requirements.txt
44+
py3{9,10,11,12,13,14}-{unit,mypy}: -rrequirements.txt
45+
py3{9,10,11,12,13,14}-{unit,mypy}: -rtest-requirements.txt
46+
py3{9,10,11,12,13,14}-lint: flake8-bugbear
47+
py3{9,10,11,12,13,14}-lint: black~=23.1
48+
py3{9,10,11,12,13,14}-bandit: bandit
49+
py3{9,10,11,12,13,14}-mypy: -rmypy-requirements.txt
4950

5051
set_env =
51-
py3{9,10,11,12,13}-unit: LC_ALL = C.UTF-8
52+
py3{9,10,11,12,13,14}-unit: LC_ALL = C.UTF-8
5253
COV_CORE_SOURCE=cwltest
5354
COV_CORE_CONFIG={toxinidir}/.coveragerc
5455
COV_CORE_DATAFILE={toxinidir}/.coverage.eager
5556

5657
commands =
57-
py3{9,10,11,12,13}-unit: python -m pip install -U pip setuptools wheel
58-
py3{9,10,11,12,13}-unit: python -m pytest --cov --cov-config={toxinidir}/.coveragerc --cov-append {posargs}
59-
py3{9,10,11,12,13}-unit: coverage xml
60-
py3{9,10,11,12,13}-bandit: bandit --recursive cwltest
61-
py3{9,10,11,12,13}-lint: make flake8
62-
py3{9,10,11,12,13}-lint: make format-check
63-
py3{9,10,11,12,13}-mypy: make mypy
58+
py3{9,10,11,12,13,14}-unit: python -m pip install -U pip setuptools wheel
59+
py3{9,10,11,12,13,14}-unit: python -m pytest --cov --cov-config={toxinidir}/.coveragerc --cov-append {posargs}
60+
py3{9,10,11,12,13,14}-unit: coverage xml
61+
py3{9,10,11,12,13,14}-bandit: bandit --recursive cwltest
62+
py3{9,10,11,12,13,14}-lint: make flake8
63+
py3{9,10,11,12,13,14}-lint: make format-check
64+
py3{9,10,11,12,13,14}-mypy: make mypy
6465

6566
allowlist_externals =
66-
py3{9,10,11,12,13}-lint: flake8
67-
py3{9,10,11,12,13}-lint: black
68-
py3{9,10,11,12,13}-{mypy,shellcheck,lint,unit}: make
67+
py3{9,10,11,12,13,14}-lint: flake8
68+
py3{9,10,11,12,13,14}-lint: black
69+
py3{9,10,11,12,13,14}-{mypy,shellcheck,lint,unit}: make
6970

7071
skip_install =
71-
py3{9,10,11,12,13}-lint: true
72-
py3{9,10,11,12,13}-bandit: true
72+
py3{9,10,11,12,13,14}-lint: true
73+
py3{9,10,11,12,13,14}-bandit: true
7374

7475

75-
[testenv:py312-pydocstyle]
76+
[testenv:py313-pydocstyle]
7677
allowlist_externals = make
7778
commands = make diff_pydocstyle_report
7879
deps =
7980
pydocstyle
8081
diff-cover
8182
skip_install = true
8283

83-
[testenv:py312-lintreadme]
84+
[testenv:py313-lintreadme]
8485
description = Lint the README.rst->.md conversion
8586
commands =
8687
python -m build --outdir dist

0 commit comments

Comments
 (0)