Skip to content

👷 ci: adopt shared workflows and dependency hygiene - #242

Merged
gaborbernat merged 5 commits into
mainfrom
ci/hygiene-2026-11
Nov 4, 2026
Merged

gaborbernat merged 5 commits into
mainfrom
ci/hygiene-2026-11

Conversation

@gaborbernat

@gaborbernat gaborbernat commented Nov 4, 2026 •

Copy link
Copy Markdown
Member

Every tox-dev library runs its test, CodeQL, and release steps from the shared github-workflows repository at 6.5.0, so a fix there reaches this project without a local copy to update. This PR moves the repository onto those shared workflows and removes the local copies they replace.

The repository keeps its triggers, schedules, concurrency, and the release environment. The shared check workflow owns the tox matrix, the shared CodeQL workflow owns analysis, and the shared required-checks Action owns the gate, which keeps its job name so the branch ruleset still finds the required check. The shared release notes and GitHub Release workflows render and publish the release. The PyPI upload stays in this repository because PyPI trusted publishing cannot run inside a reusable workflow.

The old-target job stays in this repository. It builds the wheel and checks interpreter discovery with this project's own script, which the shared workflows do not cover. It joins the gate, so a failure there still blocks merges.

Check run names change to 🧪 Test / … and 🛡️ Analyze / …. None of them is a required check: the gate and the News fragment check keep their names. The GitHub Release job now runs in the release environment, which the shared workflow sets.

Every shared-workflow reference is pinned to 6.5.0 by commit SHA, and setup-uv moves to v10.3.3, the version other tox-dev repositories already use. No runtime or packaging code changes.

@gaborbernat gaborbernat added the skip news No user-facing changelog entry needed label Nov 4, 2026
Move the tox matrix and the CodeQL analysis onto the shared check and
CodeQL workflows so every tox library runs the same test and analysis
steps. The old-target job stays local because it builds the wheel and
checks interpreter discovery, which only this project needs. The caller
keeps its triggers, its schedule, and the gate job name that branch
protection requires.
The shared release notes and GitHub Release workflows replace the local
notes and release jobs, which repeated the same reconciliation steps.
The PyPI upload stays in the caller because trusted publishing cannot
run inside a reusable workflow.
@gaborbernat gaborbernat changed the title 👷 ci: shared workflows and dependency hygiene 👷 ci: adopt shared workflows and dependency hygiene Nov 4, 2026
@gaborbernat
gaborbernat marked this pull request as ready for review November 4, 2026 04:35
@gaborbernat
gaborbernat merged commit 8f4b51c into main Nov 4, 2026
21 checks passed
@gaborbernat
gaborbernat deleted the ci/hygiene-2026-11 branch November 4, 2026 04:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

skip news No user-facing changelog entry needed

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant