diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index ff8108cb..72a1a083 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -19,7 +19,7 @@ jobs: - name: Set up Python uses: actions/setup-python@v4.7.1 with: - python-version: "3.11" + python-version: "3.12" - name: Upgrade pip run: | diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index b9a58e3f..84dae91f 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -13,21 +13,23 @@ jobs: fail-fast: false matrix: include: - - { python-version: "3.11", os: ubuntu-latest, session: "pre-commit" } - - { python-version: "3.11", os: ubuntu-latest, session: "safety" } + - { python-version: "3.12", os: ubuntu-latest, session: "pre-commit" } + - { python-version: "3.12", os: ubuntu-latest, session: "safety" } + - { python-version: "3.12", os: ubuntu-latest, session: "mypy" } - { python-version: "3.11", os: ubuntu-latest, session: "mypy" } - { python-version: "3.10", os: ubuntu-latest, session: "mypy" } - { python-version: "3.9", os: ubuntu-latest, session: "mypy" } - { python-version: "3.8", os: ubuntu-latest, session: "mypy" } + - { python-version: "3.12", os: ubuntu-latest, session: "tests" } - { python-version: "3.11", os: ubuntu-latest, session: "tests" } - { python-version: "3.10", os: ubuntu-latest, session: "tests" } - { python-version: "3.9", os: ubuntu-latest, session: "tests" } - { python-version: "3.8", os: ubuntu-latest, session: "tests" } - - { python-version: "3.11", os: windows-latest, session: "tests" } - - { python-version: "3.11", os: macos-latest, session: "tests" } - - { python-version: "3.11", os: ubuntu-latest, session: "typeguard" } - - { python-version: "3.11", os: ubuntu-latest, session: "xdoctest" } - - { python-version: "3.11", os: ubuntu-latest, session: "docs-build" } + - { python-version: "3.12", os: windows-latest, session: "tests" } + - { python-version: "3.12", os: macos-latest, session: "tests" } + - { python-version: "3.12", os: ubuntu-latest, session: "typeguard" } + - { python-version: "3.12", os: ubuntu-latest, session: "xdoctest" } + - { python-version: "3.12", os: ubuntu-latest, session: "docs-build" } env: NOXSESSION: ${{ matrix.session }} @@ -105,10 +107,10 @@ jobs: - name: Check out the repository uses: actions/checkout@v4.1.1 - - name: Set up Python 3.11 + - name: Set up Python 3.12 uses: actions/setup-python@v4.7.1 with: - python-version: "3.11" + python-version: "3.12" - name: Upgrade pip run: | diff --git a/.readthedocs.yml b/.readthedocs.yml index 06ea008d..e3464b15 100644 --- a/.readthedocs.yml +++ b/.readthedocs.yml @@ -9,4 +9,4 @@ python: build: os: ubuntu-22.04 tools: - python: "3.11" + python: "3.12" diff --git a/noxfile.py b/noxfile.py index 062d6fc4..18fa99ad 100644 --- a/noxfile.py +++ b/noxfile.py @@ -20,8 +20,8 @@ package = "freebox_api" -python_versions = ["3.11", "3.10", "3.9", "3.8"] -nox.needs_version = ">= 2021.6.6" +python_versions = ["3.12", "3.11", "3.10", "3.9", "3.8"] +nox.needs_version = ">= 2023.4.22" nox.options.sessions = ( "pre-commit", "safety", @@ -84,7 +84,7 @@ def activate_virtualenv_in_precommit_hooks(session: Session) -> None: hook.write_text("\n".join(lines)) -@session(name="pre-commit", python="3.11") +@session(name="pre-commit", python="3.12") def precommit(session: Session) -> None: """Lint using pre-commit.""" args = session.posargs or ["run", "--all-files", "--show-diff-on-failure"] @@ -106,7 +106,7 @@ def precommit(session: Session) -> None: activate_virtualenv_in_precommit_hooks(session) -@session(python="3.11") +@session(python="3.12") def safety(session: Session) -> None: """Scan dependencies for insecure packages.""" requirements = session.poetry.export_requirements() @@ -167,7 +167,7 @@ def xdoctest(session: Session) -> None: session.run("python", "-m", "xdoctest", package, *args) -@session(name="docs-build", python="3.11") +@session(name="docs-build", python="3.12") def docs_build(session: Session) -> None: """Build the documentation.""" args = session.posargs or ["docs", "docs/_build"] @@ -181,7 +181,7 @@ def docs_build(session: Session) -> None: session.run("sphinx-build", *args) -@session(python="3.11") +@session(python="3.12") 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"] diff --git a/pyproject.toml b/pyproject.toml index 778d1b70..c98aa49e 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -18,6 +18,7 @@ classifiers = [ "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", "Framework :: AsyncIO", "Intended Audience :: Developers", "Intended Audience :: System Administrators",