ci: adopt shared reusable lint-pr workflow - #642
Conversation
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
CI triagePassing (relevant to this change):
Failing — pre-existing, NOT caused by this change:
Reviewer action needed (branch protection): with the move to the reusable workflow, the two check contexts are now reported as |
|
Thanks for the review and approval, @porcellus. Confirming the state after the
One human/admin action still outstanding (unchanged from my triage note, cannot be done from here): with the move to the reusable workflow the two gate contexts now report as Ready for merge at your discretion. |
Problem
supertokens-pythoncarried its own full copy of the PR-gate workflow in.github/workflows/lint-pr.yml(semantic PR-title lint + changelog-fragmentcheck). The same file is duplicated across the backend SDK repos, so any change
to the gate has to be hand-propagated — a drift surface.
supertokens/actionsnow hosts a reusable
workflow_callversion of exactly this gate.Fix
Replace the local job definitions with a thin caller of the shared reusable
workflow:
The trigger (
pull_requesttypes) and theconcurrencyblock are keptidentical to the previous file. The two jobs (
Lint PR Titleviaamannn/action-semantic-pull-request@v6withvalidateSingleCommit: true, andRequire Changelog Fragmentchecking.changes/unreleased/with theSkip-Changelogescape hatch) are byte-for-byte the same logic that alreadylived here — I diffed the inlined jobs against the shared workflow on
actions@mainand they match. This removes the drift surface, not the gate.Tests
No runtime code changed — this is a CI-workflow-only change, so there is no unit
test to add or run. Validation performed:
supertokens/actions/.github/workflows/lint-pr.yml@mainexists andits
lint-pr-title/lint-changelogjobs are identical to the jobs beingremoved here (dependency unit A1 is merged).
Not verified
make lint/ build: nothing Pythonchanged, and those target the SDK source, not workflow YAML.
contexts move from
Lint PR Title/Require Changelog Fragmenttolint / Lint PR Title/lint / Require Changelog Fragment(nested under thecaller job
lint). A repo admin will need to update the required-status-checknames in branch protection for
devso the gate stays enforced. Flagging forthe reviewer — I can't change branch protection.
Cross-SDK note
This is the Python instance of a standardization applied across the SDKs:
lint-pr.yml→ its own unit (A4).retire → its own unit (A2).
Python's gates already matched golang's normative set, so this PR is a pure
extract-to-shared with no behavior change. Ports for node/golang are separate
units — flagged, not made here.
Part of PLAN-001.
Fixes #640