New Release Workflow #5031
doitian
announced in
Announcements
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Full workflow details: release-cheatsheet.md
Why This Matters
The CKB project doesn't keep all crates at the same version. Instead, each crate updates independently. This gives us more freedom but makes publishing harder to manage. Since most crates are stable, we can accept this extra work.
To make publishing easier, I tested several tools:
I also thought about using cargo-semver-checks in CI to check for breaking changes and have contributors bump versions. But this would add extra steps for contributors, which we wanted to avoid.
Our Choice: release-plz
release-plz turned out to be the best fit. It's easy to set up and automates most of the work. The changelogs it creates have some extra noise, but they work fine. Plus, contributors can improve them by writing clearer commit messages.
Extra Details
The workflow also uses Trusted Publishing to publish crates from CI automatically, without needing to handle passwords. We also fixed an issue where GitHub's servers didn't have enough disk space to publish CKB's crates.
Root Crate and Binary Packages Release
The root crate and binary packages will follow the original release workflow in a monthly pace, which is also documented in the release cheatsheet.
Beta Was this translation helpful? Give feedback.
All reactions