Skip to content

Require Python 3.12 and refresh the build - #13

Merged
Lawouach merged 1 commit into
masterfrom
modernize-ci
Sep 27, 2026
Merged

Lawouach merged 1 commit into
masterfrom
modernize-ci

Conversation

@Lawouach

Copy link
Copy Markdown
Contributor

Summary

The build could no longer pass on master:

  • the PDM installer used by setup-pdm does not run on Python 3.8 anymore;
  • pdm.lock was stale, its hash no longer matched pyproject.toml, so pdm lock --check failed on every Python version.

This aligns the project with chaostoolkit-lib, which requires Python 3.12 since 1.45:

  • requires-python = ">=3.12", classifiers for 3.12, 3.13 and 3.14;
  • build matrix on 3.12, 3.13 and 3.14, actions/checkout@v7;
  • pdm.lock regenerated with PDM 2.29.2, the version CI installs;
  • lint rules pinned to ruff's former defaults (E4, E7, E9, F): the refreshed lock brings ruff 0.16, whose broader defaults flag 41 existing findings (pyupgrade, implicit Optional, datetime.utcnow...). Modernising the code for them can come separately;
  • release workflow: Python 3.12, actions/checkout@v7, and upload-artifact/download-artifact v4 since the v2-preview versions are no longer available.

No change to the package code or its runtime dependency (chaostoolkit-lib>=1.42.1).

Testing

Ran the CI steps locally on Python 3.12, 3.13 and 3.14: pdm lock --check, pdm sync -d, pdm run lint, pdm run pytest all pass.

Unblocks #12, which will be rebased once this is merged.

Signed-off-by: Sylvain Hellegouarch <sh@defuze.org>
@Lawouach
Lawouach merged commit 863b625 into master Sep 27, 2026
7 checks passed
@Lawouach
Lawouach deleted the modernize-ci branch September 27, 2026 19:01
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