-
-
Notifications
You must be signed in to change notification settings - Fork 176
Document how to publish new versions of the crates #322
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Document how to publish new versions of the crates #322
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A couple notes but otherwise looks good. For releasing workspaces I've had some luck with https://crates.io/crates/cargo-release, could be something to look into in the future.
PUBLISHING.md
Outdated
The dependency graph of the published crates in this repo is: | ||
|
||
``` | ||
uefi-macros <-- uefi (root project) <-- uefi-services |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I had a little trouble parsing this, might be clearer fully written out? E.g.
uefi-services depends on uefi (the root project), and uefi depends on uefi-macros.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Reworded this, should be clearer now.
@nicholasbishop There is one step I didn't capture within the document - since issue #105, I've also started to create Git tags corresponding to the various new versions of the main crate. The thing is, I'm not certain it's so useful anymore (since now we have multiple crates in the repo) and I didn't find an Arch Linux package for this crate anymore. Any motivation for keeping on tagging releases? |
Re release tagging, I think it's nice to have on occasion, but I admit I can't think of a concrete need at the moment. On the other hand, it's hard to find the appropriate commit to tag after the fact, so maybe worth continuing to do it. For the multiple packages, could maybe do separate tags for each one? That's how cargo-release does it. |
I've realized that the process for publishing new versions of the crates in this repository has grown to be (a bit) complicated, and couldn't find an appropriate reference online for how to best manage the publishing of new versions of multi-crate projects.
This PR adds a new
PUBLISHING.md
document, describing some practices I've discovered over the years for handling new releases of the uefi-rs crates.These are by no means final, but documenting the steps should make it possible to review and improve them over time.