Skip to content

Commit 59c03c6

Browse files
authored
docs: Update instructions for doing patch releases (#511)
Updates the instructions to use release-plz locally. This is easier and less error prone, since it can reuse the configuration used for normal releases. This change was copied from CQCL/hugr#1368.
1 parent 56de2c3 commit 59c03c6

File tree

1 file changed

+33
-4
lines changed

1 file changed

+33
-4
lines changed

DEVELOPMENT.md

Lines changed: 33 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -183,10 +183,39 @@ to include all the changes that have been merged into the main branch. In this c
183183
you can create a new branch from the latest release tag and cherry-pick the commits
184184
you want to include in the patch release.
185185

186+
#### Rust patch releases
187+
188+
You can use [`release-plz`](https://release-plz.ieni.dev/) to automatically generate the changelogs and bump the package versions.
189+
190+
```bash
191+
# If you have cargo-semver-checks installed,
192+
# release-plz will ensure your changes don't break the semver rules.
193+
cargo install cargo-semver-checks --locked
194+
# Analyze the new comments to generate the changelogs / bump the versions
195+
release-plz update
196+
```
197+
198+
Once the branch is ready, create a draft PR so that the release team can review
199+
it.
200+
201+
Now someone from the release team can run `release-plz` on the **unmerged**
202+
branch to create the github releases and publish to crates.io.
203+
204+
```bash
205+
# Make sure you are logged in to `crates.io`
206+
cargo login <your_crates_io_token>
207+
# Get a github token with permissions to create releases
208+
GITHUB_TOKEN=<your_github_token>
209+
# Run release-plz
210+
release-plz release --git-token $GITHUB_TOKEN
211+
```
212+
213+
#### Python patch releases
214+
186215
You will need to modify the version and changelog manually in this case. Check
187216
the existing release PRs for examples on how to do this. Once the branch is
188-
ready, create a [github release](https://github.com/CQCL/tket2/releases/new).
189-
The tag should follow the format used in the previous releases, e.g. `tket2-py-v0.1.1`.
217+
ready, create a draft PR so that the release team can review it.
190218

191-
For rust crates, you will need someone from the release team to manually
192-
publish the new version to crates.io by running `cargo release`.
219+
The wheel building process and publication to PyPI is handled by the CI.
220+
Just create a [github release](https://github.com/CQCL/tket2/releases/new) from the **unmerged** branch.
221+
The release tag should follow the format used in the previous releases, e.g. `tket2-py-v0.1.1`.

0 commit comments

Comments
 (0)