Skip to content

ci: gate the release workflow on the lint and test matrix#16

Merged
Rouzax merged 1 commit into
mainfrom
chore/gate-release
Jun 15, 2026
Merged

ci: gate the release workflow on the lint and test matrix#16
Rouzax merged 1 commit into
mainfrom
chore/gate-release

Conversation

@Rouzax

@Rouzax Rouzax commented Jun 15, 2026

Copy link
Copy Markdown
Owner

What

Make the release workflow run the full lint + test matrix before it builds and publishes.

  • tests.yml gains a workflow_call trigger (additive; push/PR triggers unchanged).
  • release.yml adds a verify job that reuses tests.yml (uses: ./.github/workflows/tests.yml); the release job now needs: verify.
  • contents: write is scoped to the release job; verify runs read-only.

Why

Previously release.yml ran only check-versions + build, so a workflow_dispatch release could publish from a red main. Reusing tests.yml keeps one source of truth for the checks (no duplicated steps) and guarantees the exact released ref passes lint + the 3.11/3.12/3.13 matrix first.

Validation

Workflow YAML parses; job wiring verified (verify reusable, release needs verify). This PR runs tests.yml via the pull_request trigger. The release gate itself is first exercised on the next real release dispatch.

Note: release.yml now diverges from the hand-synced CrateDigger copy referenced in its header comment.

🤖 Generated with Claude Code

release.yml now runs tests.yml (lint + 3.11/3.12/3.13 matrix) as a 'verify'
job and only builds, tags, and publishes if it passes, so a release can no
longer be cut from a red main. tests.yml gains a workflow_call trigger so it
is the single source of truth for both push/PR and release checks. The
contents: write permission is scoped to the release job (verify stays
read-only).
@Rouzax Rouzax merged commit 3ddb7be into main Jun 15, 2026
4 checks passed
@Rouzax Rouzax deleted the chore/gate-release branch June 15, 2026 17:32
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