-
-
Notifications
You must be signed in to change notification settings - Fork 2.6k
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
add release documentation to CONTRIBUTING.md #1171
Conversation
Signed-off-by: Eliza Weisman <eliza@buoyant.io>
the next step. | ||
7. **Release the crate.** Run the following commands: | ||
|
||
```bash |
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.
we could just put this as a shell script in the repo somewhere?
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.
not a bad idea! i'll take a crack at writing that...
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.
@LucioFranco i wrote a quick shell script for publishing, let me know what you think!
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 can't read bash... as long as it does the right thing, sounds good to me. How does the script prevent publishing crates that should not be published?
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.
@carllerche it will fail before releasing if:
- the git tag has already been pushed
- the crate contains path deps
- the version in. Cargo.toml doesn't match the version you said you were releasing
and if cargo package
/cargo publish
fails, it won't push a git tag.
We can probably add more checks (grep changelog for the version?) in the future.
Signed-off-by: Eliza Weisman <eliza@buoyant.io>
Signed-off-by: Eliza Weisman <eliza@buoyant.io>
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.
LGTM the script will be handy!
Signed-off-by: Eliza Weisman <eliza@buoyant.io>
@carllerche shall I go ahead and merge this? |
Ah yes, thanks 👍 |
Motivation
Currently, the process for releasing a new version of a Tokio crate is
somewhat complex, and is not well-documented. To make it easier for
contributors to release minor versions more frequently, there should be
documentation describing this process.
Solution
This branch adds a section to
CONTRIBUTING.md
describing how torelease a new version of a Tokio crate. The steps are based on those
described by @carllerche in an offline conversation.
I've also added a quick shell script to actually publish new crate
versions. This should make it harder to make mistakes when
publishing.
Signed-off-by: Eliza Weisman eliza@buoyant.io