From 215a4ab146291fd8c4e8e846d855c112c18f564c Mon Sep 17 00:00:00 2001 From: Sorin Sbarnea Date: Mon, 2 Mar 2026 18:38:22 +0000 Subject: [PATCH] feat!: require python>=3.10 Remove python versions that reached their EOL. See: https://devguide.python.org/versions/ --- .github/workflows/test.yml | 63 ++++++++++++++++---------------- pyproject.toml | 74 ++++++++++++++++++-------------------- tox.ini | 5 +-- 3 files changed, 65 insertions(+), 77 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 703500a..d8ecba2 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -21,49 +21,46 @@ jobs: matrix: os: [ubuntu-latest, windows-latest] python-version: - - '3.8' - - '3.9' - - '3.10' - - '3.11' - - '3.12' - - '3.13' - - '3.14' + - "3.10" + - "3.11" + - "3.12" + - "3.13" + - "3.14" runs-on: ${{ matrix.os }} name: ${{ matrix.os }}, Python ${{ matrix.python-version }} steps: - - uses: actions/checkout@v6 + - uses: actions/checkout@v6 - - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v6 - with: - python-version: ${{ matrix.python-version }} - allow-prereleases: true + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v6 + with: + python-version: ${{ matrix.python-version }} + allow-prereleases: true - - uses: astral-sh/setup-uv@v7 + - uses: astral-sh/setup-uv@v7 - - name: Install tox - run: uv tool install --with tox-gh-actions --with tox-uv tox + - name: Install tox + run: uv tool install --with tox-gh-actions --with tox-uv tox - - name: Run tests with PyTest 9 - run: tox - if: matrix.python-version != '3.8' && matrix.python-version != '3.9' - env: - PYTEST_MAJOR_VERSION: 9 - PYTEST_PLUGINS: pytest_github_actions_annotate_failures + - name: Run tests with PyTest 9 + run: tox + env: + PYTEST_MAJOR_VERSION: 9 + PYTEST_PLUGINS: pytest_github_actions_annotate_failures - - name: Run tests with PyTest 8 - run: tox - env: - PYTEST_MAJOR_VERSION: 8 - PYTEST_PLUGINS: pytest_github_actions_annotate_failures + - name: Run tests with PyTest 8 + run: tox + env: + PYTEST_MAJOR_VERSION: 8 + PYTEST_PLUGINS: pytest_github_actions_annotate_failures - - name: Run tests with PyTest 7 - run: tox - if: runner.os != 'Windows' - env: - PYTEST_MAJOR_VERSION: 7 - PYTEST_PLUGINS: pytest_github_actions_annotate_failures + - name: Run tests with PyTest 7 + run: tox + if: runner.os != 'Windows' + env: + PYTEST_MAJOR_VERSION: 7 + PYTEST_PLUGINS: pytest_github_actions_annotate_failures post-test: name: All tests passed diff --git a/pyproject.toml b/pyproject.toml index 7fb270e..a6840c8 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,14 +1,6 @@ -[build-system] -requires = [ - "setuptools >= 64.0.0", # required by pyproject+setuptools_scm integration - "setuptools_scm[toml] >= 7.0.5", # required for "no-local-version" scheme - -] -build-backend = "setuptools.build_meta" - [project] # https://peps.python.org/pep-0621/#readme -requires-python = ">=3.8" +requires-python = ">=3.10" version = "0.3.0" name = "pytest-github-actions-annotate-failures" description = "pytest plugin to annotate failed tests with a workflow command for GitHub Actions" @@ -19,67 +11,69 @@ license = { text = "MIT" } classifiers = [ "Development Status :: 5 - Production/Stable", "Environment :: Console", + "Framework :: Pytest", "Intended Audience :: Developers", "Intended Audience :: Information Technology", "Intended Audience :: System Administrators", "License :: OSI Approved :: MIT License", - "Framework :: Pytest", + "Programming Language :: Python", "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.8", - "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3 :: Only", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", "Programming Language :: Python :: 3.14", - "Programming Language :: Python :: 3 :: Only", - "Programming Language :: Python", - "Topic :: System :: Systems Administration", "Topic :: Software Development :: Quality Assurance", "Topic :: Software Development :: Testing", + "Topic :: System :: Systems Administration", "Topic :: Utilities", ] -keywords = ["ansible", "testing", "molecule", "plugin"] -dependencies = [ - "pytest>=7.0.0" -] +keywords = ["ansible", "molecule", "plugin", "testing"] +dependencies = ["pytest>=7.0.0"] [project.urls] +changelog = "https://github.com/pytest-dev/pytest-github-actions-annotate-failures/releases" homepage = "https://github.com/pytest-dev/pytest-github-actions-annotate-failures" repository = "https://github.com/pytest-dev/pytest-github-actions-annotate-failures" -changelog = "https://github.com/pytest-dev/pytest-github-actions-annotate-failures/releases" [project.entry-points.pytest11] pytest_github_actions_annotate_failures = "pytest_github_actions_annotate_failures.plugin" [dependency-groups] -dev = [{ include-group = "test"}] +dev = [{ include-group = "test" }] test = ["packaging"] +[build-system] +requires = [ + "setuptools_scm[toml] >= 7.0.5", # required for "no-local-version" scheme + "setuptools >= 64.0.0", # required by pyproject+setuptools_scm integration +] +build-backend = "setuptools.build_meta" [tool.ruff.lint] extend-select = [ - "B", # flake8-bugbear - "I", # isort - "ARG", # flake8-unused-arguments - "C4", # flake8-comprehensions - "EM", # flake8-errmsg - "ICN", # flake8-import-conventions - "ISC", # flake8-implicit-str-concat - "G", # flake8-logging-format - "PGH", # pygrep-hooks - "PIE", # flake8-pie - "PL", # pylint - "PT", # flake8-pytest-style - "RET", # flake8-return - "RUF", # Ruff-specific - "SIM", # flake8-simplify - "UP", # pyupgrade - "YTT", # flake8-2020 - "EXE", # flake8-executable + "B", # flake8-bugbear + "I", # isort + "ARG", # flake8-unused-arguments + "C4", # flake8-comprehensions + "EM", # flake8-errmsg + "ICN", # flake8-import-conventions + "ISC", # flake8-implicit-str-concat + "G", # flake8-logging-format + "PGH", # pygrep-hooks + "PIE", # flake8-pie + "PL", # pylint + "PT", # flake8-pytest-style + "RET", # flake8-return + "RUF", # Ruff-specific + "SIM", # flake8-simplify + "UP", # pyupgrade + "YTT", # flake8-2020 + "EXE", # flake8-executable ] ignore = [ - "PLR", # Design related pylint codes + "PLR", # Design related pylint codes ] isort.required-imports = ["from __future__ import annotations"] diff --git a/tox.ini b/tox.ini index e65638c..8f52ddf 100644 --- a/tox.ini +++ b/tox.ini @@ -1,12 +1,9 @@ [tox] envlist = - py{38,39,310,311,312,313,314}-pytest{7,8} - py{310,311,312,313,314}-pytest9 + py{310,311,312,313,314}-pytest{7,8,9} [gh-actions] python = - 3.8: py38 - 3.9: py39 3.10: py310 3.11: py311 3.12: py312