[ci][anneal] Overhaul release process to support manual trigger and PR generation#3285
Open
[ci][anneal] Overhaul release process to support manual trigger and PR generation#3285
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #3285 +/- ##
=======================================
Coverage 91.88% 91.88%
=======================================
Files 20 20
Lines 6076 6076
=======================================
Hits 5583 5583
Misses 493 493 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
…R generation This design addresses a complex chicken-and-egg problem in releasing precompiled artifacts for the Anneal toolchain. Previously, we relied solely on upstream prebuilts (from Aeneas and Rust). To provide a better user experience, we want to distribute our own "fat" artifacts that include these dependencies and pre-compiled Lean libraries. Obvious approaches like building locally and pushing binaries are rejected because they require trusting developer machines. Building in CI and pushing directly back to `main` is also rejected because it complicates protected branch rules and can lead to concurrent modification issues. This commit overhauls the release process to support a new design: - A manual GitHub Action (workflow_dispatch) is used to roll Aeneas. - It builds our fat artifacts on trusted CI runners. - It publishes them to a GitHub Pre-release with a unique tag. - It automatically generates a PR that updates Cargo.toml with the new URLs and hashes of OUR artifacts. - A local script remains available for simple version bumps without pinning updates. This ensures atomicity on `main` and keeps the process automated and secure. We keep the workflows together in `anneal-release.yml` as suggested, using conditional logic to determine behavior. gherrit-pr-id: Gsfuzkz4u5vy5ps2egbs6bortsksfbpma
d2f7a6b to
c5b13a1
Compare
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.
This design addresses a complex chicken-and-egg problem in releasing
precompiled artifacts for the Anneal toolchain. Previously, we relied
solely on upstream prebuilts (from Aeneas and Rust). To provide a better
user experience, we want to distribute our own "fat" artifacts that
include these dependencies and pre-compiled Lean libraries.
Obvious approaches like building locally and pushing binaries are
rejected because they require trusting developer machines. Building in
CI and pushing directly back to
mainis also rejected because itcomplicates protected branch rules and can lead to concurrent
modification issues.
This commit overhauls the release process to support a new design:
URLs and hashes of OUR artifacts.
pinning updates.
This ensures atomicity on
mainand keeps the process automated andsecure. We keep the workflows together in
anneal-release.ymlassuggested, using conditional logic to determine behavior.
Latest Update: v2 — Compare vs v1
📚 Full Patch History
Links show the diff between the row version and the column version.
⬇️ Download this PR
Branch
git fetch origin refs/heads/Gsfuzkz4u5vy5ps2egbs6bortsksfbpma && git checkout -b pr-Gsfuzkz4u5vy5ps2egbs6bortsksfbpma FETCH_HEADCheckout
git fetch origin refs/heads/Gsfuzkz4u5vy5ps2egbs6bortsksfbpma && git checkout FETCH_HEADCherry Pick
git fetch origin refs/heads/Gsfuzkz4u5vy5ps2egbs6bortsksfbpma && git cherry-pick FETCH_HEADPull
Stacked PRs enabled by GHerrit.