diff --git a/.github/ISSUE_TEMPLATE/minor_release.md b/.github/ISSUE_TEMPLATE/release.md similarity index 75% rename from .github/ISSUE_TEMPLATE/minor_release.md rename to .github/ISSUE_TEMPLATE/release.md index f4c4be4a..5f992e43 100644 --- a/.github/ISSUE_TEMPLATE/minor_release.md +++ b/.github/ISSUE_TEMPLATE/release.md @@ -1,7 +1,7 @@ --- -name: Minor Release -about: Create a new minor release [for release managers only] -title: 'Release MAJOR.MINOR+1.0' +name: Release +about: Create a new release [for release managers only] +title: 'Release MAJOR.MINOR.PATCH' labels: 'release' assignees: '' --- @@ -16,6 +16,8 @@ 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. +1. - [ ] Delete the `target` directory in bdk-ffi and all `build` directories (in root, `lib`, and `plugins`) in bdk-android directory to make sure you're building the library from scratch. +2. - [ ] Build the library and run the offline and live tests, and adjust them if necessary (note that you'll need an Android emulator running). ```shell # start an emulator prior to running the tests cd ./bdk-android/ @@ -23,26 +25,32 @@ cd ./bdk-android/ ./gradlew connectedAndroidTest ``` 6. - [ ] Update the readme if necessary +1. - [ ] Update the readme if necessary #### _JVM_ 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 +2. - [ ] Delete the `target` directory in bdk-ffi and all `build` directories (in root, `lib`, and `plugins`) in bdk-android directory to make sure you're building the library from scratch. +3. - [ ] Build the library and run the tests, and adjust if necessary ```shell cd ./bdk-jvm/ ./gradlew buildJvmLib ./gradlew test ``` 10. - [ ] Update the readme if necessary +1. - [ ] Update the readme if necessary #### _Swift_ 11. - [ ] Run the tests and adjust if necessary +1. - [ ] Run the tests and adjust if necessary ```shell ./bdk-swift/build-local-swift.sh cd ./bdk-swift/ swift test ``` 12. - [ ] Update the readme if necessary +1. - [ ] Update the readme if necessary #### _Python_ -13. - [ ] Delete the `.tox`, `dist`, `build`, and `bdkpython.egg-info` and rust `target` directories to make sure you are building the library from scratch without any caches +13. - [ ] Delete the `dist`, `build`, and `bdkpython.egg-info` and rust `target` directories to make sure you are building the library from scratch without any caches 14. - [ ] Build the library ```shell cd ./bdk-python/ @@ -50,12 +58,12 @@ pip3 install --requirement requirements.txt bash ./scripts/generate-macos-arm64.sh # run the script for your particular platform python3 setup.py --verbose bdist_wheel ``` -15. - [ ] Run the tests and adjust if necessary +1. - [ ] Run the tests and adjust if necessary ```shell pip3 install ./dist/bdkpython--py3-none-any.whl --force-reinstall -python -m unittest --verbose tests/test_bdk.py +python -m unittest --verbose ``` -16. - [ ] Update the readme and `setup.py` if necessary +1. - [ ] Update the readme and `setup.py` if necessary ### 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). @@ -77,11 +85,5 @@ git push upstream v0.6.0 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) -``` -33. - [ ] Post in the announcement channel -34. - [ ] Tweet about the library +32. - [ ] Post in the announcement channel +33. - [ ] Tweet about the library