Skip to content

Commit

Permalink
Add support for Python 3.13
Browse files Browse the repository at this point in the history
  • Loading branch information
nsoranzo committed Sep 6, 2024
1 parent 3282914 commit 26a5504
Show file tree
Hide file tree
Showing 4 changed files with 35 additions and 31 deletions.
4 changes: 3 additions & 1 deletion .github/workflows/ci-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,11 @@ jobs:
runs-on: ubuntu-20.04 # 22.04 doesn't support Python 3.6

strategy:
fail-fast: false
matrix:
# The README.rst file mentions the versions tested, please update it as well
py-ver-major: [3]
py-ver-minor: [8, 9, 10, 11, 12]
py-ver-minor: [8, 9, 10, 11, 12, 13]
step: [lint, unit, mypy, bandit]

env:
Expand All @@ -37,6 +38,7 @@ jobs:
uses: actions/setup-python@v5
with:
python-version: ${{ env.py-semver }}
allow-prereleases: true
cache: pip
cache-dependency-path: |
requirements.txt
Expand Down
2 changes: 1 addition & 1 deletion README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ This is a testing tool for checking the output of Tools and Workflows described
with the Common Workflow Language. Among other uses, it is used to run the CWL
conformance tests.

This is written and tested for Python 3.8, 3.9, 3.10, 3.11, and 3.12.
This is written and tested for Python 3.8, 3.9, 3.10, 3.11, 3.12, and 3.13.

.. contents:: Table of Contents
:local:
Expand Down
3 changes: 2 additions & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,10 @@ classifiers = [
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Typing :: Typed",
]
requires-python = ">=3.8,<3.13"
requires-python = ">=3.8,<3.14"
dynamic = ["version", "dependencies"]

[project.readme]
Expand Down
57 changes: 29 additions & 28 deletions tox.ini
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
[tox]
envlist =
py3{8,9,10,11,12}-lint,
py3{8,9,10,11,12}-unit,
py3{8,9,10,11,12}-bandit,
py3{8,9,10,11,12}-mypy,
py3{8,9,10,11,12,13}-lint,
py3{8,9,10,11,12,13}-unit,
py3{8,9,10,11,12,13}-bandit,
py3{8,9,10,11,12,13}-mypy,
py312-lintreadme,
py312-pydocstyle

Expand All @@ -22,16 +22,17 @@ python =
3.10: py310
3.11: py311
3.12: py312
3.13: py313

[testenv]
skipsdist =
py3{8,9,10,11,12}-!{unit,mypy,lintreadme} = True
py3{8,9,10,11,12,13}-!{unit,mypy,lintreadme} = True

description =
py3{8,9,10,11,12}-unit: Run the unit tests
py3{8,9,10,11,12}-lint: Lint the Python code
py3{8,9,10,11,12}-bandit: Search for common security issues
py3{8,9,10,11,12}-mypy: Check for type safety
py3{8,9,10,11,12,13}-unit: Run the unit tests
py3{8,9,10,11,12,13}-lint: Lint the Python code
py3{8,9,10,11,12,13}-bandit: Search for common security issues
py3{8,9,10,11,12,13}-mypy: Check for type safety
py312-pydocstyle: docstring style checker
py312-lintreadme: Lint the README.rst->.md conversion

Expand All @@ -40,36 +41,36 @@ passenv =
GITHUB_*

deps =
py3{8,9,10,11,12}-{unit,mypy}: -rrequirements.txt
py3{8,9,10,11,12}-{unit,mypy}: -rtest-requirements.txt
py3{8,9,10,11,12}-lint: flake8-bugbear
py3{8,9,10,11,12}-lint: black~=23.1
py3{8,9,10,11,12}-bandit: bandit
py3{8,9,10,11,12}-mypy: -rmypy-requirements.txt
py3{8,9,10,11,12,13}-{unit,mypy}: -rrequirements.txt
py3{8,9,10,11,12,13}-{unit,mypy}: -rtest-requirements.txt
py3{8,9,10,11,12,13}-lint: flake8-bugbear
py3{8,9,10,11,12,13}-lint: black~=23.1
py3{8,9,10,11,12,13}-bandit: bandit
py3{8,9,10,11,12,13}-mypy: -rmypy-requirements.txt

set_env =
py3{8,3,10,11,12}-unit: LC_ALL = C.UTF-8
py3{8,3,10,11,12,13}-unit: LC_ALL = C.UTF-8
COV_CORE_SOURCE=cwltest
COV_CORE_CONFIG={toxinidir}/.coveragerc
COV_CORE_DATAFILE={toxinidir}/.coverage.eager

commands =
py3{8,9,10,11,12}-unit: python -m pip install -U pip setuptools wheel
py3{8,9,10,11,12}-unit: python -m pytest --cov --cov-config={toxinidir}/.coveragerc --cov-append {posargs}
py3{8,9,10,11,12}-unit: coverage xml
py3{8,9,10,11,12}-bandit: bandit --recursive cwltest
py3{8,9,10,11,12}-lint: make flake8
py3{8,9,10,11,12}-lint: make format-check
py3{8,9,10,11,12}-mypy: make mypy
py3{8,9,10,11,12,13}-unit: python -m pip install -U pip setuptools wheel
py3{8,9,10,11,12,13}-unit: python -m pytest --cov --cov-config={toxinidir}/.coveragerc --cov-append {posargs}
py3{8,9,10,11,12,13}-unit: coverage xml
py3{8,9,10,11,12,13}-bandit: bandit --recursive cwltest
py3{8,9,10,11,12,13}-lint: make flake8
py3{8,9,10,11,12,13}-lint: make format-check
py3{8,9,10,11,12,13}-mypy: make mypy

allowlist_externals =
py3{8,9,10,11,12}-lint: flake8
py3{8,9,10,11,12}-lint: black
py3{8,9,10,11,12}-{mypy,shellcheck,lint,unit}: make
py3{8,9,10,11,12,13}-lint: flake8
py3{8,9,10,11,12,13}-lint: black
py3{8,9,10,11,12,13}-{mypy,shellcheck,lint,unit}: make

skip_install =
py3{8,9,10,11,12}-lint: true
py3{8,9,10,11,12}-bandit: true
py3{8,9,10,11,12,13}-lint: true
py3{8,9,10,11,12,13}-bandit: true


[testenv:py312-pydocstyle]
Expand Down

0 comments on commit 26a5504

Please sign in to comment.