- 
                Notifications
    You must be signed in to change notification settings 
- Fork 118
add release script #636
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 script #636
Conversation
| Codecov ReportAll modified and coverable lines are covered by tests ✅ 
 Additional details and impacted files@@           Coverage Diff           @@
##             main     #636   +/-   ##
=======================================
  Coverage   83.45%   83.46%           
=======================================
  Files          75       75           
  Lines       16919    16919           
  Branches    16919    16919           
=======================================
+ Hits        14120    14121    +1     
+ Misses       2145     2143    -2     
- Partials      654      655    +1     ☔ View full report in Codecov by Sentry. | 
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.
Do we need to update the PR template to say to include the various feat, fix, doc etc things?
| | replace(from="0)", to="0])")\ | ||
| | replace(from="1)", to="1])")\ | ||
| | replace(from="2)", to="2])")\ | ||
| | replace(from="3)", to="3])")\ | ||
| | replace(from="4)", to="4])")\ | ||
| | replace(from="5)", to="5])")\ | ||
| | replace(from="6)", to="6])")\ | ||
| | replace(from="7)", to="7])")\ | ||
| | replace(from="8)", to="8])")\ | ||
| | replace(from="9)", to="9])") }}\ | 
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.
FYI this is a bit of a gross hack - I think we can fix this in the future with a hook that just does some regex prior to this
add release script to start automating our releases with
cargo-releaseandgit-cliff. the main release script is./release.shwith rather straightforward usage. we usecargo-releaseto handle some of theCargo.tomlupdates and trigger git-cliff, but otherwise the script just manually uses cargo/git to publish the release and tag itthe release flow will be the following:
mainbranch, checkout a new release branch (likeprepare 0.x.y)./release 0.x.yto do the 'prepare' phase of generating a changelog, updating readme etc.a. the tool will validate that you're on a release branch, generate the changelog, and make a commit and (optionally) open a PR (cargo-release is used to update the versions correctly and git-cliff is used as a hook in cargo-release to generate the changelog)
b. then the only main action is just making minor CHANGELOG changes and updating + merging the PR
mainbranch with prepare branch merged, run:./release.sha. the tool will publish any unpublished version (e.g. if 0.6.0 is latest on crates.io and the prepare PR bumps to 0.6.1 then the tool will do the release for
delta_kernelanddelta_kernel_derive, add a git tag, and push the tag)b. NOTE: this is currently done manually but could leverage cargo-release in the future