From 7c57965999ca4a3d640d1dc11d7e10401abcabbf Mon Sep 17 00:00:00 2001 From: Steve Myers Date: Tue, 30 Aug 2022 13:38:52 -0500 Subject: [PATCH] Bump version before making release branch, separate patch_release template --- .github/ISSUE_TEMPLATE/minor_release.md | 89 +++++++++++++++++++ .github/ISSUE_TEMPLATE/patch_release.md | 67 +++++++++++++++ .github/ISSUE_TEMPLATE/release.md | 109 ------------------------ Cargo.toml | 2 +- 4 files changed, 157 insertions(+), 110 deletions(-) create mode 100644 .github/ISSUE_TEMPLATE/minor_release.md create mode 100644 .github/ISSUE_TEMPLATE/patch_release.md delete mode 100644 .github/ISSUE_TEMPLATE/release.md diff --git a/.github/ISSUE_TEMPLATE/minor_release.md b/.github/ISSUE_TEMPLATE/minor_release.md new file mode 100644 index 00000000..52d15ad1 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/minor_release.md @@ -0,0 +1,89 @@ +--- +name: Minor Release +about: Create a new minor release [for release managers only] +title: 'Release MAJOR.MINOR+1.0' +labels: 'release' +assignees: '' + +--- + +## Create a new minor release + +### Summary + +<--release summary to be used in announcements--> + +### Commit + +<--latest commit ID to include in this release--> + +### Changelog + +<--add notices from PRs merged since the prior release, see ["keep a changelog"]--> + +### Checklist + +Release numbering must follow [Semantic Versioning]. These steps assume the current `master` +branch **development** version is *MAJOR.MINOR.0*. + +#### On the day of the feature freeze + +Change the `master` branch to the next MINOR+1 version: + +- [ ] Switch to the `master` branch. +- [ ] Create a new PR branch called `bump_dev_MAJOR_MINOR+1`, eg. `bump_dev_0_22`. +- [ ] Bump the `bump_dev_MAJOR_MINOR+1` branch to the next development MINOR+1 version. + - Change the `Cargo.toml` version value to `MAJOR.MINOR+1.0`. + - The commit message should be "Bump version to MAJOR.MINOR+1.0". +- [ ] Create PR and merge the `bump_dev_MAJOR_MINOR+1` branch to `master`. + - Title PR "Bump version to MAJOR.MINOR+1.0". + +Create a new release branch and release candidate tag: + +- [ ] Double check that your local `master` is up-to-date with the upstream repo. +- [ ] Create a new branch called `release/MAJOR.MINOR+1` from `master`. +- [ ] Add a tag to the `HEAD` commit in the `release/MAJOR.MINOR+1` branch. + - The tag name should be `vMAJOR.MINOR+1.0-RC.1` + - Use message "Release MAJOR.MINOR+1.0 RC.1". + - Make sure the tag is signed, for extra safety use the explicit `--sign` flag. +- [ ] Push the `release/MAJOR.MINOR` branch and new tag to the `bitcoindevkit/bdk` repo. + - Use `git push --tags` option to push the new `vMAJOR.MINOR+1.0-RC.1` tag. + +If any issues need to be fixed before the *MAJOR.MINOR+1.0* version is released: + +- [ ] Merge fix PRs to the `master` branch. +- [ ] Git cherry-pick fix commits to the `release/MAJOR.MINOR+1` branch. +- [ ] Verify fixes in `release/MAJOR.MINOR+1` branch. +- [ ] Add a tag to the `HEAD` commit in the `release/MAJOR.MINOR+1` branch. + - The tag name should be `vMAJOR.MINOR+1.0-RC.x+1`, where x is the current release candidate number. + - Use tag message "Release MAJOR.MINOR+1.0 RC.x+1". + - Make sure the tag is signed, for extra safety use the explicit `--sign` flag. +- [ ] Push the new tag to the `bitcoindevkit/bdk` repo. + - Use `git push --tags` option to push the new `vMAJOR.MINOR+1.0-RC.x+1` tag. + +#### On the day of the release + +Tag and publish new release: + +- [ ] Add a tag to the `HEAD` commit in the `release/MAJOR.MINOR+1` branch. + - The tag name should be `vMAJOR.MINOR+1.0` + - The first line of the tag message should be "Release MAJOR.MINOR+1.0". + - In the body of the tag message put a copy of the **Summary** and **Changelog** for the release. + - Make sure the tag is signed, for extra safety use the explicit `--sign` flag. +- [ ] Wait for the CI to finish one last time. +- [ ] Push the new tag to the `bitcoindevkit/bdk` repo. +- [ ] Publish **all** the updated crates to crates.io. +- [ ] Create the release on GitHub. + - Go to "tags", click on the dots on the right and select "Create Release". + - Set the title to `Release MAJOR.MINOR+1.0`. + - In the release notes body put the **Summary** and **Changelog**. + - Use the "+ Auto-generate release notes" button to add details from included PRs. + - Until we reach a `1.0.0` release check the "Pre-release" box. +- [ ] Make sure the new release shows up on [crates.io] and that the docs are built correctly on [docs.rs]. +- [ ] Announce the release, using the **Summary**, on Discord, Twitter and Mastodon. +- [ ] Celebrate 🎉 + +[Semantic Versioning]: https://semver.org/ +[crates.io]: https://crates.io/crates/bdk +[docs.rs]: https://docs.rs/bdk/latest/bdk +["keep a changelog"]: https://keepachangelog.com/en/1.0.0/ diff --git a/.github/ISSUE_TEMPLATE/patch_release.md b/.github/ISSUE_TEMPLATE/patch_release.md new file mode 100644 index 00000000..201959e5 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/patch_release.md @@ -0,0 +1,67 @@ +--- +name: Patch Release +about: Create a new patch release [for release managers only] +title: 'Release MAJOR.MINOR.PATCH+1' +labels: 'release' +assignees: '' + +--- + +## Create a new patch release + +### Summary + +<--release summary to be used in announcements--> + +### Commit + +<--latest commit ID to include in this release--> + +### Changelog + +<--add notices from PRs merged since the prior release, see ["keep a changelog"]--> + +### Checklist + +Release numbering must follow [Semantic Versioning]. These steps assume the current `master` +branch **development** version is *MAJOR.MINOR.PATCH*. + +### On the day of the patch release + +Change the `master` branch to the new PATCH+1 version: + +- [ ] Switch to the `master` branch. +- [ ] Create a new PR branch called `bump_dev_MAJOR_MINOR_PATCH+1`, eg. `bump_dev_0_22_1`. +- [ ] Bump the `bump_dev_MAJOR_MINOR` branch to the next development PATCH+1 version. + - Change the `Cargo.toml` version value to `MAJOR.MINOR.PATCH+1`. + - The commit message should be "Bump version to MAJOR.MINOR.PATCH+1". +- [ ] Create PR and merge the `bump_dev_MAJOR_MINOR_PATCH+1` branch to `master`. + - Title PR "Bump version to MAJOR.MINOR.PATCH+1". + +Cherry-pick, tag and publish new PATCH+1 release: + +- [ ] Merge fix PRs to the `master` branch. +- [ ] Git cherry-pick fix commits to the `release/MAJOR.MINOR` branch to be patched. +- [ ] Verify fixes in `release/MAJOR.MINOR` branch. +- [ ] Add a tag to the `HEAD` commit in the `release/MAJOR.MINOR` branch. + - The tag name should be `vMAJOR.MINOR.PATCH+1` + - The first line of the tag message should be "Release MAJOR.MINOR.PATCH+1". + - In the body of the tag message put a copy of the **Summary** and **Changelog** for the release. + - Make sure the tag is signed, for extra safety use the explicit `--sign` flag. +- [ ] Wait for the CI to finish one last time. +- [ ] Push the new tag to the `bitcoindevkit/bdk` repo. +- [ ] Publish **all** the updated crates to crates.io. +- [ ] Create the release on GitHub. + - Go to "tags", click on the dots on the right and select "Create Release". + - Set the title to `Release MAJOR.MINOR.PATCH+1`. + - In the release notes body put the **Summary** and **Changelog**. + - Use the "+ Auto-generate release notes" button to add details from included PRs. + - Until we reach a `1.0.0` release check the "Pre-release" box. +- [ ] Make sure the new release shows up on [crates.io] and that the docs are built correctly on [docs.rs]. +- [ ] Announce the release, using the **Summary**, on Discord, Twitter and Mastodon. +- [ ] Celebrate 🎉 + +[Semantic Versioning]: https://semver.org/ +[crates.io]: https://crates.io/crates/bdk +[docs.rs]: https://docs.rs/bdk/latest/bdk +["keep a changelog"]: https://keepachangelog.com/en/1.0.0/ diff --git a/.github/ISSUE_TEMPLATE/release.md b/.github/ISSUE_TEMPLATE/release.md deleted file mode 100644 index 9992931e..00000000 --- a/.github/ISSUE_TEMPLATE/release.md +++ /dev/null @@ -1,109 +0,0 @@ ---- -name: Release -about: Create a new release [for release managers only] -title: 'Release MAJOR.MINOR.PATCH' -labels: 'release' -assignees: '' - ---- - -Create a new release. - -**Summary** - -<--release summary to be used in announcements--> - -**Commit** - -<--latest commit ID to include in this release--> - -**Changelog** - -<--add notices from PRs merged since the prior release, see ["keep a changelog"]--> - -**Checklist** - -Release numbering must follow [Semantic Versioning]. These steps assume the -current `master` branch **development** version is **MAJOR.MINOR.0**. - -On the day of the feature freeze for the current development **MAJOR.MINOR.0** -release, create a new release branch and release candidate tag: - -- [ ] Double check that your local `master` is up-to-date with the upstream repo. -- [ ] Create a new branch called `release/MAJOR.MINOR` from `master`. -- [ ] Add a tag to the `HEAD` commit in the `release/MAJOR.MINOR` branch. - - The tag name should be `vMAJOR.MINOR.0-RC.1` - - Use message "Release MAJOR.MINOR.0 RC.1". - - Make sure the tag is signed, for extra safety use the explicit `--sign` flag. -- [ ] Push the `release/MAJOR.MINOR` branch and new tag to the `bitcoindevkit/bdk` repo. - - Use `git push --tags` option to push the new `vMAJOR.MINOR.0-RC.1` tag. - -Change `master` branch version to next development **MAJOR.MINOR+1.0** release: - -- [ ] Switch back to the `master` branch. -- [ ] Create a new PR branch called `bump_dev_MAJOR_MINOR+1`, eg. `bump_dev_0_18`. -- [ ] Bump the `bump_dev_MAJOR_MINOR+1` branch to the next development MAJOR.MINOR+1 version. - - Change the `Cargo.toml` version value to `MAJOR.MINOR+1.0`. - - The commit message should be "Bump version to MAJOR.MINOR+1.0". -- [ ] Create PR and merge the `bump_dev_MAJOR_MINOR+1` branch to `master`. - - Title PR "Bump dev version to MAJOR.MINOR+1.0". - -If any issues need to be fixed before the **MAJOR.MINOR.0** version is released: - -- [ ] Merge fix PRs to the `master` branch. -- [ ] Git cherry-pick fix commits to the `release/MAJOR.MINOR` branch. -- [ ] Verify fixes in `release/MAJOR.MINOR` branch. -- [ ] Add a tag to the `HEAD` commit in the `release/MAJOR.MINOR` branch. - - The tag name should be `vMAJOR.MINOR.0-RC.x+1`, where x is the current release candidate number. - - Use tag message "Release MAJOR.MINOR.0 RC.x+1". - - Make sure the tag is signed, for extra safety use the explicit `--sign` flag. -- [ ] Push the new tag to the `bitcoindevkit/bdk` repo. - - Use `git push --tags` option to push the new `vMAJOR.MINOR.0-RC.x+1` tag. - -On the day of a **MAJOR.MINOR.0** release: - -- [ ] Add a tag to the `HEAD` commit in the `release/MAJOR.MINOR` branch. - - The tag name should be `vMAJOR.MINOR.0` - - The first line of the tag message should be "Release MAJOR.MINOR.0". - - In the body of the tag message put a copy of the **Summary** and **Changelog** for the release. - - Make sure the tag is signed, for extra safety use the explicit `--sign` flag. -- [ ] Wait for the CI to finish one last time. -- [ ] Push the new tag to the `bitcoindevkit/bdk` repo. -- [ ] Publish **all** the updated crates to crates.io. -- [ ] Create the release on GitHub. - - Go to "tags", click on the dots on the right and select "Create Release". - - Set the title to `Release MAJOR.MINOR.0`. - - In the release notes body put the **Summary** and **Changelog**. - - Use the "+ Auto-generate release notes" button to add details from included PRs. - - Until we reach a `1.0.0` release check the "Pre-release" box. -- [ ] Make sure the new release shows up on [crates.io] and that the docs are built correctly on [docs.rs]. -- [ ] Announce the release, using the **Summary**, on Discord, Twitter and Mastodon. -- [ ] Celebrate :tada: - -On the day of a **MAJOR.MINOR.PATCH+1** release: - -- [ ] Merge fix PRs to the `master` branch. -- [ ] Git cherry-pick fix commits to the `release/MAJOR.MINOR` branch to be patched. -- [ ] Verify fixes in `release/MAJOR.MINOR` branch. -- [ ] Add a tag to the `HEAD` commit in the `release/MAJOR.MINOR` branch. - - The tag name should be `vMAJOR.MINOR.PATCH+1` - - The first line of the tag message should be "Release MAJOR.MINOR.PATCH+1". - - In the body of the tag message put a copy of the **Summary** and **Changelog** for the release. - - Make sure the tag is signed, for extra safety use the explicit `--sign` flag. -- [ ] Wait for the CI to finish one last time. -- [ ] Push the new tag to the `bitcoindevkit/bdk` repo. -- [ ] Publish **all** the updated crates to crates.io. -- [ ] Create the release on GitHub. - - Go to "tags", click on the dots on the right and select "Create Release". - - Set the title to `Release MAJOR.MINOR.PATCH+1`. - - In the release notes body put the **Summary** and **Changelog**. - - Use the "+ Auto-generate release notes" button to add details from included PRs. - - Until we reach a `1.0.0` release check the "Pre-release" box. -- [ ] Make sure the new release shows up on [crates.io] and that the docs are built correctly on [docs.rs]. -- [ ] Announce the release, using the **Summary**, on Discord, Twitter and Mastodon. -- [ ] Celebrate :tada: - -[Semantic Versioning]: https://semver.org/ -[crates.io]: https://crates.io/crates/bdk -[docs.rs]: https://docs.rs/bdk/latest/bdk -["keep a changelog"]: https://keepachangelog.com/en/1.0.0/ diff --git a/Cargo.toml b/Cargo.toml index 5fcea942..68cd5e36 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "bdk" -version = "0.21.1-dev" +version = "0.21.0" edition = "2018" authors = ["Alekos Filini ", "Riccardo Casatta "] homepage = "https://bitcoindevkit.org"