Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 13 additions & 1 deletion .github/workflows/ci-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,12 @@ jobs:
strategy:
matrix:
py-ver-major: [3]
py-ver-minor: [6, 7, 8, 9, 10]
py-ver-minor: [6, 7, 8, 9, 10, 11]
step: [lint, unit, mypy]
exclude:
- py-ver-major: 3
py-ver-minor: 11
step: mypy

env:
py-semver: ${{ format('{0}.{1}', matrix.py-ver-major, matrix.py-ver-minor) }}
Expand All @@ -31,10 +35,18 @@ jobs:
- uses: actions/checkout@v3

- name: Set up Python
if: matrix.py-ver-minor != 11
uses: actions/setup-python@v4
with:
python-version: ${{ env.py-semver }}

- name: Set up Python 3.11.0-rc.1
if: matrix.py-ver-minor == 11
uses: actions/setup-python@v4
with:
python-version: 3.11.0-rc.1


- name: Cache for pip
uses: actions/cache@v3
with:
Expand Down
3 changes: 2 additions & 1 deletion setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@
"develop",
"bdist_egg",
"editable_wheel",
"test",
]
):
mypyc_targets = [
Expand Down Expand Up @@ -117,7 +118,7 @@
download_url="https://github.com/common-workflow-language/schema_salad/releases",
ext_modules=ext_modules,
license="Apache 2.0",
python_requires=">=3.6,<3.11",
python_requires=">=3.6,<=3.11",
setup_requires=pytest_runner + ["setuptools_scm"],
packages=["schema_salad", "schema_salad.tests", "schema_salad.avro"],
package_data={
Expand Down
59 changes: 30 additions & 29 deletions tox.ini
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
[tox]
envlist =
py{36,37,38,39,310}-lint,
py{36,37,38,39,310}-unit,
py{37,38,39,310}-bandit,
py{36,37,38,39,310,311}-lint,
py{36,37,38,39,310,311}-unit,
py{37,38,39,310,311}-bandit,
py{36,37,38,39,310}-mypy,
py39-lintreadme,
py39-pydocstyle
py310-lintreadme,
py310-pydocstyle

skip_missing_interpreters = True

Expand All @@ -20,60 +20,61 @@ python =
3.8: py38
3.9: py39
3.10: py310
3.11: py311

[testenv]
description =
py{36,37,38,39,310}-unit: Run the unit tests
py{36,37,38,39,310}-lint: Lint the Python code
py{37,38,39,310}-bandit: Search for common security issues
py{36,37,38,39,310,311}-unit: Run the unit tests
py{36,37,38,39,310,311}-lint: Lint the Python code
py{37,38,39,310,311}-bandit: Search for common security issues
py{36,37,38,39,310}-mypy: Check for type safety
py39-pydocstyle: docstring style checker
py39-lintreadme: Lint the README.rst->.md conversion
py310-pydocstyle: docstring style checker
py310-lintreadme: Lint the README.rst->.md conversion

passenv =
CI
GITHUB_*
deps =
py{36,37,38,39,310}-{unit,mypy}: -rrequirements.txt
py{36,37,38,39,310}-{unit,mypy}: -rtest-requirements.txt
py{36,37,38,39,310}-lint: flake8-bugbear
py{36,37,38,39,310}-lint: black
py{37,38,39,310}-bandit: bandit
py{36,37,38,39,310,311}-{unit,mypy}: -rrequirements.txt
py{36,37,38,39,310,311}-{unit,mypy}: -rtest-requirements.txt
py{36,37,38,39,310,311}-lint: flake8-bugbear
py{36,37,38,39,310,311}-lint: black
py{37,38,39,310,311}-bandit: bandit
py{36,37,38,39,310}-mypy: -rmypy-requirements.txt

setenv =
py{36,37,38,39,310}-unit: LC_ALL = C.UTF-8
py{36,37,38,39,310,311}-unit: LC_ALL = C.UTF-8

commands =
py{36,37,38,39,310}-unit: python -m pip install -U pip setuptools wheel
py{36,37,38,39,310}-unit: make coverage-report coverage.xml PYTEST_EXTRA={posargs}
py{37,38,39,310}-bandit: bandit --recursive --exclude schema_salad/tests/ schema_salad
py{36,37,38,39,310}-lint: make flake8
py{36,37,38,39,310}-lint: make format-check
py{36,37,38,39,310,311}-unit: python -m pip install -U pip setuptools wheel
py{36,37,38,39,310,311}-unit: make coverage-report coverage.xml PYTEST_EXTRA={posargs}
py{37,38,39,310,311}-bandit: bandit --recursive --exclude schema_salad/tests/ schema_salad
py{36,37,38,39,310,311}-lint: make flake8
py{36,37,38,39,310,311}-lint: make format-check
py{36,37,38,39,310}-mypy: make mypy
py{36,37,38,39,310}-mypy: make mypyc

whitelist_externals =
py{36,37,38,39,310}-lint: flake8
py{36,37,38,39,310}-lint: black
py{36,37,38,39,310}-{mypy,shellcheck,lint,unit}: make
py{36,37,38,39,310,311}-lint: flake8
py{36,37,38,39,310,311}-lint: black
py{36,37,38,39,310,311}-{mypy,shellcheck,lint,unit}: make

skip_install =
py{36,37,38,39,310}-lint: true
py{37,38,39,310}-bandit: true
py{36,37,38,39,310,311}-lint: true
py{37,38,39,310,311}-bandit: true

extras =
py{36,37,38,39,310}-unit: pycodegen
py{36,37,38,39,310,311}-unit: pycodegen

[testenv:py39-pydocstyle]
[testenv:py310-pydocstyle]
whitelist_externals = make
commands = make diff_pydocstyle_report
deps =
pydocstyle
diff-cover
skip_install = true

[testenv:py39-lintreadme]
[testenv:py310-lintreadme]
description = Lint the README.rst->.md conversion
commands =
python setup.py sdist
Expand Down