Skip to content

ci: update deprecated actions and test claimed Python 3.9 support - #547

Open
ThVerg wants to merge 2 commits into
olofk:mainfrom
ThVerg:ci/modernize
Open

ci: update deprecated actions and test claimed Python 3.9 support#547
ThVerg wants to merge 2 commits into
olofk:mainfrom
ThVerg:ci/modernize

Conversation

@ThVerg

@ThVerg ThVerg commented Jul 2, 2026

Copy link
Copy Markdown
Contributor

Two CI health fixes:

  • Deprecated actions: the Build job used actions/checkout@v2 and actions/setup-python@v1, which run on Node.js versions GitHub has deprecated on current runners (the Format job was on v3). All checkout/setup-python steps are bumped to the current majors (v4/v5).
  • Untested Python 3.9: pyproject.toml declares requires-python = ">=3.9" and carries the importlib_metadata backport dependency specifically for 3.9, but the CI matrix only tested 3.10–3.14. This adds 3.9 to the matrix so the claimed lower bound is actually exercised. (If 3.9 is no longer worth supporting, the alternative is bumping requires-python to >=3.10 and dropping the backport shim — happy to rework the PR that way instead.)

Deliberately not included: bumping the black pre-commit pin (22.3.0). Every newer black release reformats existing files (black 24.x touches 8 files, 26.x touches 45), so that's better done as a standalone reformat commit to keep other PRs conflict-free.

ThVerg added 2 commits July 2, 2026 14:15
actions/checkout@v2 and actions/setup-python@v1 run on Node.js
versions that GitHub has deprecated. Bump all checkout/setup-python
steps to their current majors (v4/v5).

pyproject.toml declares requires-python >=3.9 (and carries the
importlib_metadata backport for it), but CI only tested 3.10-3.14.
Add 3.9 to the matrix so the claimed support is actually exercised.
The gui parametrization uses a PEP 604 annotation (bool | None) that
is evaluated at function definition time, which breaks test collection
on 3.9. Add 'from __future__ import annotations' so the annotation
stays a string.
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