Skip to content
eldesh edited this page Jun 27, 2025 · 16 revisions

(for a project owner \in https://crates.io/teams/github:idein:engineers)

Release Sequence

  1. Make a release branch
    1. git checkout -b release/x.y.z
  2. Bump up version
    1. Update Cargo.toml > version
    2. cargo build (updating Cargo.lock)
  3. Commit
    1. git add Cargo.toml
    2. git add Cargo.lock
    3. git commit -m "bump up x.y.z"
  4. Push the branch
    $ git push origin release/x.y.z
    
  5. Make a pull request with following format:
    Bump up the version to `x.y.z`.
    
    # <PR category>
    - <1 line descriprion> #<PR>
    - <1 line description> #<PR>
    ..
    
    where the <PR category> := Improvements | Bugfixes | New Features | etc...
  6. Merge the pull request
  7. Add a new tag (vX.Y.Z)
    $ git tag -a vX.Y.Z        # The annotation should be the same as the body of the PR.
    $ git push origin vX.Y.Z
    
    Pushing tags publishes crates to crates.io.
  8. 🎉

Clone this wiki locally