fix: release binaries from trusted main pushes - #426
Open
nv-yna wants to merge 1 commit into
Open
Conversation
Signed-off-by: Yuewei Na <[email protected]>
nv-yna
requested review from
alec-flowers,
csahithi,
ishandhanani and
nlevin-ui
as code owners
September 12, 2026 19:45
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #426 +/- ##
=======================================
Coverage ? 75.25%
=======================================
Files ? 109
Lines ? 16115
Branches ? 0
=======================================
Hits ? 12127
Misses ? 3988
Partials ? 0 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
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.
Merged fork PRs currently fail both release build matrices at checkout before compilation: the
pull_request_targetevent triggers checkout's fork protection even for the merged main commit (failed run 34681066279). A later PR without Rust changes can then carry old binaries forward because change detection only examines that last PR.Run releases on trusted pushes to
main, pin every checkout to the push SHA, and compare binary inputs against the commit of the last published release tag. This retains unreleased changes after failed runs and freezes the same tag for asset carry-forward. Recovernew-featurelabels from the matching merged PR to preserve minor/patch version behavior. Keep both architecture matrices, asset names/checksums, checkout protections, and write permission confined to the publication job.Skip targets already covered by a published release; reject divergent history, changed baselines during partial reruns, and existing version tags at another commit. Recheck immediately before publication, with checkout preceding artifact downloads.
Validation:
make check: 2,190 passed, 2 skipped, 6 deselected. Ruff passed; the existing nonblockingtystep reported 9 diagnostics in unchanged source files.actionlint1.7.12 passed (ShellCheck unavailable).pre-commit run --files .github/workflows/release.yaml tests/test_release_workflow.pypassed. The requiredpre-commit run --all-filesexposed existing errors outside this PR: 39 remaining Ruff findings after one automatic fix and 10 files reformatted. Those unrelated automatic edits were preserved in the session log and reverted; neither PR file needed changes.4d3e8bd8and release metadata selectedv1.0.102as the baseline, a Tachometer rebuild, and carry-forward of the unchanged CPU power exporter.Release publication itself remains untested until this workflow reaches
main; no Release rerun or publication was triggered for this PR.