Skip to content

Commit

Permalink
Update release process docs
Browse files Browse the repository at this point in the history
Signed-off-by: Yuki Okushi <jtitor@2k36.org>
  • Loading branch information
JohnTitor committed Aug 8, 2022
1 parent 3897b21 commit 97921d8
Show file tree
Hide file tree
Showing 2 changed files with 33 additions and 30 deletions.
41 changes: 33 additions & 8 deletions RELEASE_PROCESS.md
@@ -1,10 +1,35 @@
# How to make a new release

- Update the version number and all the references to it
- Make a new release on GitHub (i.e. add a new git tag)
- Publish crates in order:
1. `phf_shared`
2. `phf_generator`
3. `phf_codegen`
4. `phf_macros`
5. `phf`
Since v0.11.1, this repository uses [`cargo-smart-release`](https://crates.io/crates/cargo-smart-release) to release crates.

## Installation

```sh
cargo install cargo-smart-release
```

## Before running `cargo-smart-release`

If the next version has a major change or bumps MSRV, i.e. it increases a minor version on `v0.Y.Z` or a major version on `vX.Y.Z`,
update the versions mentioned on the README and doc comments (and CI config if it touches MSRV).

## Run `cargo-smart-release`

First, just run:

```sh
cargo smart-release phf phf_codegen phf_generator phf_macros phf_shared
```

This would show what `cargo-smart-release` would do, e.g. how it updates the version number, changelog, etc.
If you satisfy the output, run:

```sh
cargo smart-release -u -e phf phf_codegen phf_generator phf_macros phf_shared
```

This would make actual releases. `-e` means that it executes actual releases and `-u` means that it always updates crates-index.
`cargo-smart-release` also takes care of the Git tags.

After executing it, ensure that all the releases are actually happened and the tags are pushed.
If all the things are fine, that's it!
22 changes: 0 additions & 22 deletions release.sh

This file was deleted.

0 comments on commit 97921d8

Please sign in to comment.