add back in support for python 3.9 and favor 3.11 for tests w/ burnettk

This commit is contained in:
jasquat 2022-11-09 15:15:27 -05:00
parent 64ac704288
commit aa5cf0ed7a
4 changed files with 26 additions and 19 deletions

View File

@ -12,22 +12,29 @@ jobs:
fail-fast: false
matrix:
include:
- { python: "3.10", os: "ubuntu-latest", session: "pre-commit" }
- { python: "3.10", os: "ubuntu-latest", session: "safety" }
- { python: "3.11", os: "ubuntu-latest", session: "pre-commit" }
- { python: "3.11", os: "ubuntu-latest", session: "safety" }
- { python: "3.11", os: "ubuntu-latest", session: "mypy" }
- { python: "3.10", os: "ubuntu-latest", session: "mypy" }
- { python: "3.9", os: "ubuntu-latest", session: "mypy" }
- {
python: "3.10",
python: "3.11",
os: "ubuntu-latest",
session: "tests",
database: "mysql",
}
- {
python: "3.10",
python: "3.11",
os: "ubuntu-latest",
session: "tests",
database: "postgres",
}
- {
python: "3.11",
os: "ubuntu-latest",
session: "tests",
database: "sqlite",
}
- {
python: "3.10",
os: "ubuntu-latest",
@ -41,28 +48,28 @@ jobs:
database: "sqlite",
}
- {
python: "3.10",
python: "3.11",
os: "windows-latest",
session: "tests",
database: "sqlite",
}
- {
python: "3.10",
python: "3.11",
os: "macos-latest",
session: "tests",
database: "sqlite",
}
- {
# typeguard 2.13.3 is broken with TypeDict in 3.10.
# typeguard 2.13.3 is broken with TypeDict in 3.11.
# probably the next release fixes it.
# https://github.com/agronholm/typeguard/issues/242
python: "3.9",
python: "3.11",
os: "ubuntu-latest",
session: "typeguard",
database: "sqlite",
}
- { python: "3.10", os: "ubuntu-latest", session: "xdoctest" }
- { python: "3.10", os: "ubuntu-latest", session: "docs-build" }
- { python: "3.11", os: "ubuntu-latest", session: "xdoctest" }
- { python: "3.11", os: "ubuntu-latest", session: "docs-build" }
env:
NOXSESSION: ${{ matrix.session }}
@ -149,7 +156,7 @@ jobs:
- name: Upload coverage data
# pin to upload coverage from only one matrix entry, otherwise coverage gets confused later
if: always() && matrix.session == 'tests' && matrix.python == '3.10' && matrix.os == 'ubuntu-latest'
if: always() && matrix.session == 'tests' && matrix.python == '3.11' && matrix.os == 'ubuntu-latest'
uses: "actions/upload-artifact@v3.0.0"
with:
name: coverage-data
@ -198,7 +205,7 @@ jobs:
- name: Set up Python
uses: actions/setup-python@v4.2.0
with:
python-version: "3.10"
python-version: "3.11"
- name: Upgrade pip
run: |

View File

@ -21,7 +21,7 @@ except ImportError:
package = "spiffworkflow_backend"
python_versions = ["3.10", "3.9"]
python_versions = ["3.11", "3.10", "3.9"]
nox.needs_version = ">= 2021.6.6"
nox.options.sessions = (
"pre-commit",
@ -96,7 +96,7 @@ def activate_virtualenv_in_precommit_hooks(session: Session) -> None:
hook.write_text("\n".join(lines))
@session(name="pre-commit", python="3.10")
@session(name="pre-commit", python="3.11")
def precommit(session: Session) -> None:
"""Lint using pre-commit."""
args = session.posargs or ["run", "--all-files", "--show-diff-on-failure"]
@ -119,7 +119,7 @@ def precommit(session: Session) -> None:
activate_virtualenv_in_precommit_hooks(session)
@session(python="3.10")
@session(python="3.11")
def safety(session: Session) -> None:
"""Scan dependencies for insecure packages."""
requirements = session.poetry.export_requirements()
@ -189,7 +189,7 @@ def xdoctest(session: Session) -> None:
session.run("python", "-m", "xdoctest", *args)
@session(name="docs-build", python="3.10")
@session(name="docs-build", python="3.11")
def docs_build(session: Session) -> None:
"""Build the documentation."""
args = session.posargs or ["docs", "docs/_build"]
@ -206,7 +206,7 @@ def docs_build(session: Session) -> None:
session.run("sphinx-build", *args)
@session(python="3.10")
@session(python="3.11")
def docs(session: Session) -> None:
"""Build and serve the documentation with live reloading on file changes."""
args = session.posargs or ["--open-browser", "docs", "docs/_build"]

View File

@ -16,7 +16,7 @@ classifiers = [
Changelog = "https://github.com/sartography/spiffworkflow-backend/releases"
[tool.poetry.dependencies]
python = ">=3.11,<3.12"
python = ">=3.9,<3.12"
click = "^8.0.1"
flask = "2.2.2"
flask-admin = "*"

View File

@ -1,7 +1,7 @@
sonar.organization=sartography
sonar.projectKey=sartography_spiffworkflow-backend
sonar.host.url=https://sonarcloud.io
sonar.python.version=3.9,3.10
sonar.python.version=3.9,3.10,3.11
sonar.python.coverage.reportPaths=coverage.xml
sonar.test.inclusions=tests