Skip to content

Commit 9483adf

Browse files
committed
Bump version before making release branch, separate patch_release template
1 parent 9598e8b commit 9483adf

File tree

4 files changed

+157
-110
lines changed

4 files changed

+157
-110
lines changed
+89
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,89 @@
1+
---
2+
name: Minor Release
3+
about: Create a new minor release [for release managers only]
4+
title: 'Release MAJOR.MINOR+1.0'
5+
labels: 'release'
6+
assignees: ''
7+
8+
---
9+
10+
## Create a new minor release
11+
12+
### Summary
13+
14+
<--release summary to be used in announcements-->
15+
16+
### Commit
17+
18+
<--latest commit ID to include in this release-->
19+
20+
### Changelog
21+
22+
<--add notices from PRs merged since the prior release, see ["keep a changelog"]-->
23+
24+
### Checklist
25+
26+
Release numbering must follow [Semantic Versioning]. These steps assume the current `master`
27+
branch **development** version is *MAJOR.MINOR.0*.
28+
29+
#### On the day of the feature freeze
30+
31+
Change the `master` branch to the next MINOR+1 version:
32+
33+
- [ ] Switch to the `master` branch.
34+
- [ ] Create a new PR branch called `bump_dev_MAJOR_MINOR+1`, eg. `bump_dev_0_22`.
35+
- [ ] Bump the `bump_dev_MAJOR_MINOR+1` branch to the next development MINOR+1 version.
36+
- Change the `Cargo.toml` version value to `MAJOR.MINOR+1.0`.
37+
- The commit message should be "Bump version to MAJOR.MINOR+1.0".
38+
- [ ] Create PR and merge the `bump_dev_MAJOR_MINOR+1` branch to `master`.
39+
- Title PR "Bump version to MAJOR.MINOR+1.0".
40+
41+
Create a new release branch and release candidate tag:
42+
43+
- [ ] Double check that your local `master` is up-to-date with the upstream repo.
44+
- [ ] Create a new branch called `release/MAJOR.MINOR+1` from `master`.
45+
- [ ] Add a tag to the `HEAD` commit in the `release/MAJOR.MINOR+1` branch.
46+
- The tag name should be `vMAJOR.MINOR+1.0-RC.1`
47+
- Use message "Release MAJOR.MINOR+1.0 RC.1".
48+
- Make sure the tag is signed, for extra safety use the explicit `--sign` flag.
49+
- [ ] Push the `release/MAJOR.MINOR` branch and new tag to the `bitcoindevkit/bdk` repo.
50+
- Use `git push --tags` option to push the new `vMAJOR.MINOR+1.0-RC.1` tag.
51+
52+
If any issues need to be fixed before the *MAJOR.MINOR+1.0* version is released:
53+
54+
- [ ] Merge fix PRs to the `master` branch.
55+
- [ ] Git cherry-pick fix commits to the `release/MAJOR.MINOR+1` branch.
56+
- [ ] Verify fixes in `release/MAJOR.MINOR+1` branch.
57+
- [ ] Add a tag to the `HEAD` commit in the `release/MAJOR.MINOR+1` branch.
58+
- The tag name should be `vMAJOR.MINOR+1.0-RC.x+1`, where x is the current release candidate number.
59+
- Use tag message "Release MAJOR.MINOR+1.0 RC.x+1".
60+
- Make sure the tag is signed, for extra safety use the explicit `--sign` flag.
61+
- [ ] Push the new tag to the `bitcoindevkit/bdk` repo.
62+
- Use `git push --tags` option to push the new `vMAJOR.MINOR+1.0-RC.x+1` tag.
63+
64+
#### On the day of the release
65+
66+
Tag and publish new release:
67+
68+
- [ ] Add a tag to the `HEAD` commit in the `release/MAJOR.MINOR+1` branch.
69+
- The tag name should be `vMAJOR.MINOR+1.0`
70+
- The first line of the tag message should be "Release MAJOR.MINOR+1.0".
71+
- In the body of the tag message put a copy of the **Summary** and **Changelog** for the release.
72+
- Make sure the tag is signed, for extra safety use the explicit `--sign` flag.
73+
- [ ] Wait for the CI to finish one last time.
74+
- [ ] Push the new tag to the `bitcoindevkit/bdk` repo.
75+
- [ ] Publish **all** the updated crates to crates.io.
76+
- [ ] Create the release on GitHub.
77+
- Go to "tags", click on the dots on the right and select "Create Release".
78+
- Set the title to `Release MAJOR.MINOR+1.0`.
79+
- In the release notes body put the **Summary** and **Changelog**.
80+
- Use the "+ Auto-generate release notes" button to add details from included PRs.
81+
- Until we reach a `1.0.0` release check the "Pre-release" box.
82+
- [ ] Make sure the new release shows up on [crates.io] and that the docs are built correctly on [docs.rs].
83+
- [ ] Announce the release, using the **Summary**, on Discord, Twitter and Mastodon.
84+
- [ ] Celebrate 🎉
85+
86+
[Semantic Versioning]: https://semver.org/
87+
[crates.io]: https://crates.io/crates/bdk
88+
[docs.rs]: https://docs.rs/bdk/latest/bdk
89+
["keep a changelog"]: https://keepachangelog.com/en/1.0.0/
+67
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
---
2+
name: Patch Release
3+
about: Create a new patch release [for release managers only]
4+
title: 'Release MAJOR.MINOR.PATCH+1'
5+
labels: 'release'
6+
assignees: ''
7+
8+
---
9+
10+
## Create a new patch release
11+
12+
### Summary
13+
14+
<--release summary to be used in announcements-->
15+
16+
### Commit
17+
18+
<--latest commit ID to include in this release-->
19+
20+
### Changelog
21+
22+
<--add notices from PRs merged since the prior release, see ["keep a changelog"]-->
23+
24+
### Checklist
25+
26+
Release numbering must follow [Semantic Versioning]. These steps assume the current `master`
27+
branch **development** version is *MAJOR.MINOR.PATCH*.
28+
29+
### On the day of the patch release
30+
31+
Change the `master` branch to the new PATCH+1 version:
32+
33+
- [ ] Switch to the `master` branch.
34+
- [ ] Create a new PR branch called `bump_dev_MAJOR_MINOR_PATCH+1`, eg. `bump_dev_0_22_1`.
35+
- [ ] Bump the `bump_dev_MAJOR_MINOR` branch to the next development PATCH+1 version.
36+
- Change the `Cargo.toml` version value to `MAJOR.MINOR.PATCH+1`.
37+
- The commit message should be "Bump version to MAJOR.MINOR.PATCH+1".
38+
- [ ] Create PR and merge the `bump_dev_MAJOR_MINOR_PATCH+1` branch to `master`.
39+
- Title PR "Bump version to MAJOR.MINOR.PATCH+1".
40+
41+
Cherry-pick, tag and publish new PATCH+1 release:
42+
43+
- [ ] Merge fix PRs to the `master` branch.
44+
- [ ] Git cherry-pick fix commits to the `release/MAJOR.MINOR` branch to be patched.
45+
- [ ] Verify fixes in `release/MAJOR.MINOR` branch.
46+
- [ ] Add a tag to the `HEAD` commit in the `release/MAJOR.MINOR` branch.
47+
- The tag name should be `vMAJOR.MINOR.PATCH+1`
48+
- The first line of the tag message should be "Release MAJOR.MINOR.PATCH+1".
49+
- In the body of the tag message put a copy of the **Summary** and **Changelog** for the release.
50+
- Make sure the tag is signed, for extra safety use the explicit `--sign` flag.
51+
- [ ] Wait for the CI to finish one last time.
52+
- [ ] Push the new tag to the `bitcoindevkit/bdk` repo.
53+
- [ ] Publish **all** the updated crates to crates.io.
54+
- [ ] Create the release on GitHub.
55+
- Go to "tags", click on the dots on the right and select "Create Release".
56+
- Set the title to `Release MAJOR.MINOR.PATCH+1`.
57+
- In the release notes body put the **Summary** and **Changelog**.
58+
- Use the "+ Auto-generate release notes" button to add details from included PRs.
59+
- Until we reach a `1.0.0` release check the "Pre-release" box.
60+
- [ ] Make sure the new release shows up on [crates.io] and that the docs are built correctly on [docs.rs].
61+
- [ ] Announce the release, using the **Summary**, on Discord, Twitter and Mastodon.
62+
- [ ] Celebrate 🎉
63+
64+
[Semantic Versioning]: https://semver.org/
65+
[crates.io]: https://crates.io/crates/bdk
66+
[docs.rs]: https://docs.rs/bdk/latest/bdk
67+
["keep a changelog"]: https://keepachangelog.com/en/1.0.0/

.github/ISSUE_TEMPLATE/release.md

-109
This file was deleted.

Cargo.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "bdk"
3-
version = "0.21.1-dev"
3+
version = "0.21.0"
44
edition = "2018"
55
authors = ["Alekos Filini <[email protected]>", "Riccardo Casatta <[email protected]>"]
66
homepage = "https://bitcoindevkit.org"

0 commit comments

Comments
 (0)