Skip to content

build!: remove codecov, switch to ruff and require python 3.11+ - #158

Merged
mvantellingen merged 6 commits into
mainfrom
ruff-and-remove-codecov
Oct 25, 2026
Merged

mvantellingen merged 6 commits into
mainfrom
ruff-and-remove-codecov

Conversation

@mvantellingen

@mvantellingen mvantellingen commented Oct 25, 2026 •

Copy link
Copy Markdown
Member

Remove Codecov and switch linting to ruff

Codecov removal

  • Removed the Codecov upload, together with the per-matrix coverage artifact upload and the coverage job in python-test.yml that only existed to feed Codecov. Tests still run under coverage run via tox, and the tox -e coverage-report env is kept for local use.
  • Removed the Codecov badge from the README.

Ruff

  • Replaced black/isort/flake8 (and the flake8 plugins) with ruff (ruff==0.17.2) in the test extra, the tox -e format env and the Makefile (format, generate, and a new lint target).
  • Moved the config from [tool.isort] / [flake8] to [tool.ruff] in pyproject.toml (line length 88, E4/E7/E9/F/I, known-first-party kept).
  • The rmf-codegen output (platform, importapi, frontend, checkout) gets a per-file ignore for F401/F541/F821, so we don't hand-edit generated files.
  • Separate commits:
    • Format with ruff: the mechanical ruff format run (mostly blank-line changes in generated code).
    • Fix ruff lint errors: removed unused imports, f-strings without placeholders and unused variables in the tests. Also renamed a duplicate test function in tests/importapi/test_models.py, because the second definition was hiding the first. Both tests now run and pass.

Note: src/commercetools/checkout/models/common.py contains invalid generated enum members (EUROPE_WEST1.GCP = ...), which ruff reports as F821. It is ignored here, but the generator needs fixing.

Python 3.11+

Python 3.10 is EOL, so the floor moves from 3.10 to 3.11 (breaking).

  • setup.py: python_requires=">=3.11", dropped the 3.10 classifier (3.11–3.14 remain).
  • tox.ini: envlist and [gh-actions] mapping cover 3.11–3.14.
  • CI test matrix: 3.11–3.14 (format job stays on 3.13).
  • mypy.ini: python_version 3.6 -> 3.11.
  • README/docs: "supports Python 3.11+" (was still saying 3.6+).
  • .readthedocs.yml: replaced the deprecated v1 config (Python 3.6) with a v2 config on Python 3.13.
  • CHANGES.md: new Unreleased entry.

Verified: tox -e format,py311,py313 all pass (175 tests).

@mvantellingen
mvantellingen force-pushed the ruff-and-remove-codecov branch from 067073b to 77c9a0e Compare October 25, 2026 18:58
@mvantellingen mvantellingen changed the title Remove Codecov and switch to ruff build!: remove codecov, switch to ruff and require python 3.11+ Oct 25, 2026
@mvantellingen
mvantellingen merged commit bde1b6a into main Oct 25, 2026
6 checks passed
@mvantellingen
mvantellingen deleted the ruff-and-remove-codecov branch October 25, 2026 19:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant