Skip to content

fix: repair stale CI toolchain pins - #134

Merged
aboucaud merged 1 commit into
mainfrom
fix-ci-stale-toolchain
Sep 30, 2026
Merged

aboucaud merged 1 commit into
mainfrom
fix-ci-stale-toolchain

Conversation

@aboucaud

Copy link
Copy Markdown
Member

Summary

PR #133 surfaced two pre-existing CI infra issues, unrelated to that PR's content, that would block any PR from going green right now:

  • build (3.7) fails with Version 3.7 with arch x64 not found. GitHub's ubuntu-latest runner image is now 24.04 ("noble"), which has no published Python 3.7 build — the actions/python-versions manifest only ships 3.7.17 for Ubuntu 20.04/22.04. Pinning the job to ubuntu-22.04 (still fully supported as a hosted runner) restores availability for the whole 3.7–3.12 matrix (verified against the manifest).
  • pre-commit / pyupgrade crashes with TypeError: cannot use a bytes pattern on a string-like object — a known incompatibility between pyupgrade==3.15.2 and Python 3.14 (what the hosted pre-commit action now runs by default). Bumping to v3.21.2 (latest, which added explicit --py314-plus support) fixes it; --py37-plus is unchanged, so the lint target stays the same per python_requires = >=3.7.

No source files changed — this only touches CI/lint tooling pins.

Test plan

  • pre-commit run --all-files passes locally with pyupgrade==3.21.2
  • pytest --cov — 36 passed
  • Verified via the actions/python-versions manifest that Python 3.7.17–3.12.14 all have published builds for ubuntu-22.04
  • Confirm the Python package and Check code style CI checks go green on this PR

🤖 Generated with Claude Code

CI on PR #133 exposed two pre-existing infra staleness issues, unrelated
to that PR's content:

- build (3.7): GitHub's ubuntu-latest runner image is now 24.04, which
  has no published Python 3.7 build (python-versions manifest only ships
  3.7.17 for 20.04/22.04). Pin the job to ubuntu-22.04, which has builds
  for all of 3.7-3.12, restoring the full matrix.
- pre-commit pyupgrade: v3.15.2 crashes with "TypeError: cannot use a
  bytes pattern on a string-like object" on Python 3.14 (what the hosted
  runner's pre-commit action now uses). Bump to v3.21.2, which added
  explicit --py314-plus support and fixes the incompatibility; --py37-plus
  still works so the lint target stays the same.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@aboucaud
aboucaud merged commit 136a6a8 into main Sep 30, 2026
7 checks passed
@aboucaud
aboucaud deleted the fix-ci-stale-toolchain branch September 30, 2026 22:38
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