Thanks to visit codestin.com
Credit goes to github.com

Skip to content

fix: release binaries from trusted main pushes - #426

Open
nv-yna wants to merge 1 commit into
NVIDIA:mainfrom
nv-yna:yna/release-main-push
Open

fix: release binaries from trusted main pushes#426
nv-yna wants to merge 1 commit into
NVIDIA:mainfrom
nv-yna:yna/release-main-push

Conversation

@nv-yna

@nv-yna nv-yna commented Sep 12, 2026

Copy link
Copy Markdown
Collaborator

Merged fork PRs currently fail both release build matrices at checkout before compilation: the pull_request_target event 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. Recover new-feature labels 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:

  • 38 tests execute the workflow's Bash against temporary Git histories and fake GitHub responses, including prior failed binary changes, direct pushes, feature labels, draft baselines, pagination, stale/equal targets, partial reruns, tag collisions, and API failures.
  • make check: 2,190 passed, 2 skipped, 6 deselected. Ruff passed; the existing nonblocking ty step reported 9 diagnostics in unchanged source files.
  • actionlint 1.7.12 passed (ShellCheck unavailable). pre-commit run --files .github/workflows/release.yaml tests/test_release_workflow.py passed. The required pre-commit run --all-files exposed 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.
  • Read-only execution of the release decision against actual 4d3e8bd8 and release metadata selected v1.0.102 as 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.

@codecov-commenter

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
⚠️ Please upload report for BASE (main@4d3e8bd). Learn more about missing BASE report.

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.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

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.

2 participants