Skip to content

Commit

Permalink
Merge pull request rust-phf#266 from rust-phf/update-release-process
Browse files Browse the repository at this point in the history
  • Loading branch information
JohnTitor authored Aug 8, 2022
2 parents 3897b21 + 97921d8 commit 250c6b4
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
Original file line number Diff line number Diff line change
@@ -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 250c6b4

Please sign in to comment.