ci(release): publish stable releases from version bumps#204
Open
Abhijeet Prasad (AbhiPrasad) wants to merge 1 commit into
Open
ci(release): publish stable releases from version bumps#204Abhijeet Prasad (AbhiPrasad) wants to merge 1 commit into
Abhijeet Prasad (AbhiPrasad) wants to merge 1 commit into
Conversation
|
Latest downloadable build artifacts for this PR commit
Available artifact names
|
| raise SystemExit("failed to find version in Cargo.toml") | ||
| cargo_toml.write_text("".join(lines)) | ||
|
|
||
| cargo_lock = Path("Cargo.lock") |
Contributor
There was a problem hiding this comment.
We could use cargo update --workspace --offline instead of parsing the Cargo.lock toml.
From the cargo update doc:
--workspace
Attempt to update only packages defined in the workspace. Other packages are updated only if they don’t already exist in the lockfile. This option is useful for updating Cargo.lock after you’ve changed version numbers in Cargo.toml.
Member
Author
There was a problem hiding this comment.
good call, just did that and pushed it up
Replace the separate tag-on-version-bump workflow with a single stable release flow driven by Cargo.toml changes on main. Operators prepare a release by running release-bump-pr with the target semver version, which opens or updates a PR that changes Cargo.toml and Cargo.lock. When that PR merges, the release workflow reads the new Cargo.toml version, creates and pushes the matching v<major>.<minor>.<patch> tag if it does not already exist, then uses cargo-dist to plan and build the release artifacts. Publishing is gated behind the release GitHub Environment. The workflow builds artifacts before requesting approval, then only uploads the artifacts, creates the GitHub Release, and publishes installers after the deployment is approved. Manual release dispatch still supports publishing an existing semver tag directly. The minimal smoke-install workflow now consumes the resolved release tag from a release-metadata artifact emitted by the release workflow. This keeps post-release smoke tests aligned with the exact tag the release used, including manually dispatched releases where the workflow_run branch can still be main. Document the stable release process in CONTRIBUTING so the expected operator flow is clear.
d15a937 to
80de685
Compare
Cedric / ViaDézo1er (viadezo1er)
approved these changes
May 22, 2026
Contributor
Cedric / ViaDézo1er (viadezo1er)
left a comment
There was a problem hiding this comment.
Unless we actively try to break things this should be good.
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.
Replace the separate tag-on-version-bump workflow with a single stable release flow driven by Cargo.toml changes on main. Operators prepare a release by running release-bump-pr with the target semver version, which opens or updates a PR that changes Cargo.toml and Cargo.lock. When that PR merges, the release workflow reads the new Cargo.toml version, creates and pushes the matching v.. tag if it does not already exist, then uses cargo-dist to plan and build the release artifacts.
Publishing is gated behind the release GitHub Environment. The workflow builds artifacts before requesting approval, then only uploads the artifacts, creates the GitHub Release, and publishes installers after the deployment is approved. Manual release dispatch still supports publishing an existing semver tag directly.
The minimal smoke-install workflow now consumes the resolved release tag from a release-metadata artifact emitted by the release workflow. This keeps post-release smoke tests aligned with the exact tag the release used, including manually dispatched releases where the workflow_run branch can still be main.
Document the stable release process in CONTRIBUTING so the expected operator flow is clear.