-
Notifications
You must be signed in to change notification settings - Fork 35
Release Sequence
eldesh edited this page Mar 8, 2023
·
15 revisions
(for a project owner \in https://crates.io/teams/github:idein:engineers)
- Read official document
- Add your API token to
~/.cargo/credentials
withcargo login
- Make a release branch
- git checkout -b release/x.y.z
- Bump up version
- Update
Cargo.toml > version
-
cargo build
(updatingCargo.lock
)
- Update
- Commit
git add Cargo.toml
git add Cargo.lock
git commit -m "bump up x.y.z"
- Check test passing
If the "ignored" tests fail with
$ cargo build $ cargo doc $ cargo test # expensive test $ docker-compose build $ cargo test -- --ignored
too many open files
, try 'ulimit -n 65535'. - Check packaging passing
$ cargo package
- Push the branch
$ git push origin release/x.y.z
- Make a pull request with following format:
where the
Bump up the version to `x.y.z`. # <PR category> - <1 line descriprion> #<PR> - <1 line description> #<PR> ..
<PR category>
:= Improvements | Bugfixes | New Features | etc... - Merge the pull request
- Add a new tag (
vX.Y.Z
)The annotation should be the same as the body of the PR.$ git tag -a vX.Y.Z $ git push origin vX.Y.Z
- Clone to the new working directory
$ git clone file:///home/eldesh/dockworker newworker $ cd newworker $ git checkout vX.Y.Z
- Packaging (at new working dir)
newworker$ cargo package
- Calm down
newworker$ cargo publish --dry-run
- Publish (at new working dir)
newworker$ cargo publish
- 🎉