diff --git a/.github/ISSUE_TEMPLATE/minor_release.md b/.github/ISSUE_TEMPLATE/minor_release.md index c5a0787..9f40bc8 100644 --- a/.github/ISSUE_TEMPLATE/minor_release.md +++ b/.github/ISSUE_TEMPLATE/minor_release.md @@ -16,7 +16,7 @@ assignees: '' 3. - [ ] Update the API docs to reflect the changes in the API 4. - [ ] Delete the `target` directory in bdk-ffi and all previous artifacts to make sure you're building the library from scratch. 5. - [ ] Build the library and run the tests, and adjust if necessary. -```sh +```shell # start an emulator prior to running the tests cd ./bdk-android/ ./gradlew buildAndroidLib @@ -27,7 +27,7 @@ cd ./bdk-android/ 7. - [ ] Update the API docs to reflect the changes in the API 8. - [ ] Delete the `target` directory in bdk-ffi and all previous artifacts to make sure you're building the library from scratch 9. - [ ] Build the library and run the tests, and adjust if necessary -```sh +```shell cd ./bdk-jvm/ ./gradlew buildJvmLib ./gradlew test @@ -35,7 +35,7 @@ cd ./bdk-jvm/ 10. - [ ] Update the readme if necessary #### _Swift_ 11. - [ ] Run the tests and adjust if necessary -```sh +```shell ./bdk-swift/build-local-swift.sh cd ./bdk-swift/ swift test @@ -59,27 +59,29 @@ python -m unittest --verbose tests/test_bdk.py ### Release Workflow 17. - [ ] Update the Android, JVM, Python, and Swift libraries as per the _Specific Libraries' Workflows_ section above. Open a single PR on master for all of these changes called `Prepare language bindings libraries for 0.X release`. See [example PR here](https://github.com/bitcoindevkit/bdk-ffi/pull/315). -- [ ] Create a new branch off of `master` called `release/version` -18. - [ ] Open a PR to that branch to update the Android, JVM, and Python libraries' versions. See [example PR here](https://github.com/bitcoindevkit/bdk-ffi/pull/316). - - [ ] Update bdk-android version from `SNAPSHOT` version to release version - - [ ] Update bdk-jvm version from `SNAPSHOT` version to release version - - [ ] Update bdk-python version from `.dev` version to release version -19. - [ ] Merge the PR updating all the languages to their release versions -20. - [ ] Create the tag and make sure to add the changelog info to the tag (works better if you prepare the tag message on the side in a text editor) and push it to GitHub. -```sh +18. - [ ] Create a new branch off of `master` called `release/version` +19. - [ ] Update bdk-android version from `SNAPSHOT` version to release version +20. - [ ] Update bdk-jvm version from `SNAPSHOT` version to release version +21. - [ ] Update bdk-python version from `.dev` version to release version +22. - [ ] Open a PR to that release branch that updates the Android, JVM, and Python libraries' versions in step 19, 20, and 21. See [example PR here](https://github.com/bitcoindevkit/bdk-ffi/pull/316). +23. - [ ] Get a review and ACK and merge the PR updating all the languages to their release versions +24. - [ ] Create the tag for the release and make sure to add the changelog info to the tag (works better if you prepare the tag message on the side in a text editor). Push the tag to GitHub. +```shell git tag v0.6.0 --sign --edit git push upstream v0.6.0 ``` -21. - [ ] Aggregate all the changelog notices from the PRs and add them to the changelog file -22. - [ ] Open a PR on master with the changes to the changelog file and the development versions bump. See [example PR here](https://github.com/bitcoindevkit/bdk-ffi/pull/317). -23. - [ ] Make release on GitHub (set as pre-release and generate auto release notes between the previous tag and the new one) -24. - [ ] Trigger manual releases for all 4 libraries (for Swift, simply add the version number in the text field when running the workflow manually. Note that the version number must not contain the `v`, i.e. `0.26.0`) -25. - [ ] Bump the versions on master from `0.9.0-SNAPSHOT` to `0.10.0-SNAPSHOT`, `0.6.0.dev0` to `0.7.0.dev0` -26. - [ ] Build and publish API docs for JVM, Android, and Java on the website -```bash! +25. - [ ] Trigger manual releases for all 4 libraries (for Swift, trigger the release on `master` and simply add the version number in the text field when running the workflow manually. Note that the version number must not contain the `v`, i.e. `0.26.0`) +26. - [ ] Make sure the released libraries work and contain the artifacts you would expect +27. - [ ] Aggregate all the changelog notices from the PRs and add them to the changelog file +28. - [ ] Bump the versions on master from `0.9.0-SNAPSHOT` to `0.10.0-SNAPSHOT`, `0.6.0.dev0` to `0.7.0.dev0` +29. - [ ] Apply changes to the minor_release and patch_release issue templates if they need any +30. - [ ] Open a PR on master with the changes in steps 29, 30, and 31. See [example PR here](https://github.com/bitcoindevkit/bdk-ffi/pull/317). Get a review and merge the PR. +31. - [ ] Make release on GitHub (set as pre-release and generate auto release notes between the previous tag and the new one) +32. - [ ] Build and publish API docs for JVM, Android, and Java on the website +```shell ./gradlew dokkaHtml # bdk-jvm (Dokka) ./gradlew dokkaJavadoc # bdk-jvm (java-style documentation) ./gradlew dokkaHtml # bdk-android (Dokka) ``` -27. - [ ] Tweet about the library -28. - [ ] Post in the announcement channel +33. - [ ] Post in the announcement channel +34. - [ ] Tweet about the library