Figure out a way to do out-of-band releases of crates in the cargo repo #14538
Labels
A-infrastructure
Area: infrastructure around the cargo repo, ci, releases, etc.
S-needs-design
Status: Needs someone to work further on the design for the feature or fix. NOT YET accepted.
Ever since #14202, the process for publishing cargo libraries to crates.io is done via a workflow triggered when a tag is created. This works great for regular releases of Rust. However, there are times when we need to publish a crate in this repository independent of a Rust release, which does not work very well (or at all).
For example, we need to publish a patch version of cargo that only affects API users, and does not affect the
cargo
binary shipped in the stable release. Or, there are crates likehome
orrustfix
that are not strictly tied to Rust releases.The primary problem is that tags can now only be created by promote-release, which prevents us from tagging and running the release process. If we want to do a release of something, we have to get the release team to manually do it, and AFAIK there is no way to add a tag anymore (since it would trigger a release we don't want).
Generally we want:
We have discussed a few different approaches to implement this, such as:
See also #12033 which is a related issue where managing version numbers is currently a pain.
cc @pietroalbini
The text was updated successfully, but these errors were encountered: