fix(release): rebaseline workshop-rs on release-plz and dist - #55
Merged
Conversation
Teakowa
marked this pull request as ready for review
August 20, 2026 13:02
Teakowa
force-pushed
the
agent/release-dist-rebaseline
branch
from
August 20, 2026 16:55
f93d52d to
1956fa9
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.
Summary
release-plzto its standard push-to-main flow for Release PR maintenance, crates.io publication, and the single canonicalvX.Y.Ztag;dist0.32;.tar.gz/.ziparchive formats, SHA-256 checksums, andcatalog-identity.jsonas a dist extra artifact;CARGO_REGISTRY_TOKENpath in this change; crates.io Trusted Publishing is a separate follow-up after the external publisher configuration is verified.Why
The current release pipeline has grown into a custom release orchestrator around
release-plz: the release command runs from a merged-PR detached checkout, #54 has to synthesize a branch/upstream just to satisfy release-plz's Git context, and repository YAML separately owns tag creation, draft/published GitHub Release state, asset completeness, and partial-state recovery. Recent fixes #50, #51, and #54 are different symptoms of that same ownership problem.This PR removes that state machine instead of adding another recovery condition.
Ownership contract
release-plzdoes not create the GitHub Release.distdoes not decide crate versions or publish crates.io packages.Distribution changes
The CLI targets remain:
x86_64-unknown-linux-gnuaarch64-unknown-linux-gnux86_64-apple-darwinaarch64-apple-darwinx86_64-pc-windows-msvcLinux ARM64 moves from a repository-maintained cross-linker setup to GitHub's native
ubuntu-24.04-armrunner.distemits standard per-archive.sha256files, replacing the hand-built aggregateSHA256SUMS.txt.catalog-identity.jsonremains a release artifact generated fromworkshop-rs-cli version --json.Removed custom orchestration
pull_request.closedpublication path;release-plz-releasebranch/upstream setup;gh apitag creation;Rare partial external states are handled explicitly by maintainers instead of expanding the normal release path into a transaction coordinator across crates.io, Git, and GitHub Releases.
Validation
Validated on the final PR head:
dist init --yesaccepted the repository configuration and generated the checked-in Release workflow;dist plansuccessfully against the real PR merge ref;catalog-identity.jsonextra artifact are accepted by dist 0.32.0;The next real canonical tag remains the production end-to-end proof. No version is manufactured solely to test this migration.