Repository navigation
ci(release): build the release matrix once, at the tag - #174
Open
brettdavies wants to merge 1 commit into
Open
brettdavies wants to merge 1 commit into
brettdavies wants to merge 1 commit into
Conversation
`release-matrix-check.yml` built the seven release targets on every push to a release branch, and again on the release pull request and on the backport of its version bump, since both change `Cargo.toml` and `Cargo.lock` and matched the path filter. The tag then built the ones that shipped. The check now runs for a pull request to `dev` that changes a manifest, the lock file, or the toolchain pin, which is where a cross-compiled target breaks. It has no trigger on a release branch, a release pull request targets `main` and does not match, and the backport's branch is skipped by name. `workflow_dispatch` still runs the matrix on any ref for a release that wants a rehearsal. The preflight gate that read the release branch's matrix run reads the latest run on a pull request to `dev`. A cross-compile break that no such pull request showed is found by the tag's build, after the tag exists.
2 of 15 tasks
brettdavies
added this pull request to stack #177
October 8, 2026 22:27
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
A release compiles its seven targets once, on the tag push.
release-matrix-check.ymlno longer builds them for a release branch, a release pull request, or the backport of a release's version bump.The check ran on every push to a release branch, and again on the release pull request and on the backport, since both change
Cargo.tomlandCargo.lockand matched the path filter. The tag then built the targets that shipped.It now runs for a pull request to
devthat changes a manifest, the lock file, or the toolchain pin, which is the kind of change that breaks a cross-compiled target. A release pull request targetsmainand does not match. The backport's branch (chore/sync-dev-*) is skipped by name.workflow_dispatchstill runs the matrix on any ref, so a release that wants a rehearsal runsgh workflow run release-matrix-check.yml --ref release/v<version>.The preflight gate that read the release branch's matrix run reads the latest run on a pull request to
dev. No ruleset requires the check, so a dependency pull request can merge with it red, and a cross-compile break that no such pull request showed is found by the tag's build, after the tag exists.Changelog
Type of Change
feat: New feature (non-breaking change which adds functionality)fix: Bug fix (non-breaking change which fixes an issue)refactor: Code refactoring (no functional changes)perf: Performance improvementdocs: Documentation updatetest: Adding or updating testschore: Maintenance tasks (dependencies, config, etc.)ci: CI/CD configuration changesstyle: Code style/formatting changesbuild: Build system changesBREAKING CHANGE: Breaking API change (requires major version bump)Related Issues/Stories
RELEASES.md§ Cross-compile target matrixTesting
Test Summary:
devand changes the workflow file, which is one of its own paths, so the matrix runs here once frompull_request.branches: [dev]excludes a pull request tomain, the workflow has nopushtrigger, and the job'sifis false for a head that starts withchore/sync-dev.Files Modified
Modified:
.github/workflows/release-matrix-check.yml: nopushtrigger onrelease/**, the pull-request trigger limited todev, and the backport skipped.RELEASES.md: the cross-compile section states when the matrix runs.RELEASES-PREFLIGHT.md: the matrix gate.Created:
Renamed:
Deleted: