diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index b6a4783..207b46e 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -5,6 +5,16 @@ on: - pull_request jobs: + build-package: + name: Build & inspect our package. + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v4 + - uses: hynek/build-and-inspect-python-package@v2 + id: baipp + outputs: + python-versions: ${{ steps.baipp.outputs.supported_python_classifiers_json_array }} tests: name: ${{ matrix.session }} ${{ matrix.python }} / ${{ matrix.os }} runs-on: ${{ matrix.os }} @@ -32,7 +42,7 @@ jobs: - name: Set up Python ${{ matrix.python }} uses: actions/setup-python@v2.3.2 with: - python-version: ${{ matrix.python }} + python-version: ${{ fromJson(needs.check-package.outputs.python-versions) }} - name: Upgrade pip run: | diff --git a/noxfile.py b/noxfile.py index fef67be..eca1eeb 100644 --- a/noxfile.py +++ b/noxfile.py @@ -5,6 +5,8 @@ from textwrap import dedent import nox +import tomllib + try: from nox_poetry import session @@ -19,7 +21,12 @@ package = "countdown" -python_versions = ["3.10", "3.9", "3.8"] +config = tomllib.loads(Path("pyproject.toml").read_text()) +python_versions = [ + classifier.split()[-1] + for classifier in config["tool"]["poetry"]["classifiers"] + if classifier.startswith("Programming Language :: Python :: ") +] nox.needs_version = ">= 2021.6.6" nox.options.sessions = ("pre-commit", "tests") diff --git a/pyproject.toml b/pyproject.toml index bfcbf78..ceb3b9a 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -13,6 +13,11 @@ packages = [ ] classifiers = [ "Development Status :: 4 - Beta", + "Programming Language :: Python :: 3.8", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", ] [tool.poetry.urls]