You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: .github/ISSUE_TEMPLATE/release.md
+54-46Lines changed: 54 additions & 46 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,82 +6,90 @@ labels: 'release'
6
6
assignees: ''
7
7
---
8
8
9
-
## Create a new minor release
10
-
## Bumping BDK Rust Version
9
+
#Part 1: Bump BDK Rust Version
10
+
11
11
1.-[ ] Open a PR with an update to `Cargo.toml` to the new bdk release candidate and ensure all CI workflows run correctly. Fix errors if necessary.
12
12
2.-[ ] Once the new bdk release is out, update the PR to replace the release candidate with the full release and merge.
13
13
14
-
### Specific Libraries' Workflows
15
-
#### _Android_
14
+
# Part 2: Prepare Libraries for Release Branch
15
+
16
+
### _Android_
17
+
16
18
3.-[ ] Update the API docs to reflect the changes in the API
17
-
4.-[ ] Delete the `target` directory in bdk-ffi and all previous artifacts to make sure you're building the library from scratch.
18
-
5.-[ ] 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.
19
-
6.-[ ] Build the library and run the offline and live tests, and adjust them if necessary (note that you'll need an Android emulator running).
19
+
4.-[ ] Delete the `target` directory in bdk-ffi and all `build` directories (in root, `lib`, and `plugins`) in the bdk-android directory to make sure you're building the library from scratch.
20
+
5.-[ ] Build the library and run the offline and live tests, and adjust them if necessary (note that you'll need an Android emulator running).
20
21
```shell
21
22
# start an emulator prior to running the tests
22
23
cd ./bdk-android/
23
-
./gradlew buildAndroidLib
24
-
./gradlew connectedAndroidTest
24
+
just clean
25
+
just build
26
+
just test
25
27
```
26
-
7.-[ ] Update the readme if necessary
28
+
6.-[ ] Update the readme if necessary
27
29
28
-
#### _JVM_
29
-
8.-[ ] Update the API docs to reflect the changes in the API
30
-
9.-[ ] Delete the `target` directory in bdk-ffi and all `build` directories (in root, `lib`, and `plugins`) in bdk-jvm directory to make sure you're building the library from scratch.
31
-
10.-[ ] Build the library and run the tests, and adjust if necessary
30
+
### _JVM_
31
+
32
+
7.-[ ] Update the API docs to reflect the changes in the API
33
+
8.-[ ] Delete the `target` directory in bdk-ffi and all `build` directories (in root, `lib`, and `plugins`) in bdk-jvm directory to make sure you're building the library from scratch.
34
+
9.-[ ] Build the library and run the tests, and adjust if necessary
32
35
```shell
33
36
cd ./bdk-jvm/
34
-
./gradlew buildJvmLib
35
-
./gradlew test
37
+
just clean
38
+
just build
39
+
just test
36
40
```
37
-
11.-[ ] Update the readme if necessary
41
+
10.-[ ] Update the readme if necessary
38
42
39
-
#### _Swift_
40
-
12.-[ ] Delete the `target` directory in bdk-ffi
41
-
13.-[ ] Run the tests and adjust if necessary
43
+
### _Swift_
42
44
45
+
11.-[ ] Delete the `target` directory in bdk-ffi
46
+
12.-[ ] Run the tests and adjust if necessary
43
47
```shell
44
-
./bdk-swift/build-local-swift.sh
45
48
cd ./bdk-swift/
46
-
swift test
49
+
just clean
50
+
just build
51
+
just test
47
52
```
48
-
14.-[ ] Update the readme if necessary
53
+
13.-[ ] Update the readme if necessary
54
+
55
+
### _Python_
49
56
50
-
#### _Python_
51
-
15.-[ ] 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
52
-
16.-[ ] Build the library
57
+
14.-[ ] 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
58
+
15.-[ ] Build the library
53
59
```shell
54
60
cd ./bdk-python/
61
+
just clean
55
62
pip3 install --requirement requirements.txt
56
63
bash ./scripts/generate-macos-arm64.sh # run the script for your particular platform
18.-[ ] Update the readme and `setup.py` if necessary
71
+
17.-[ ] Update the readme and `setup.py` if necessary
72
+
18.-[ ] 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).
73
+
74
+
## Part 3: Release Workflow
65
75
66
-
### Release Workflow
67
-
19.-[ ] 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).
68
-
20.. - [] Create a new branch off of `master` called `release/<feature version>`, e.g. `release/0.31`
69
-
21.-[ ] Update bdk-android version from `SNAPSHOT` version to release version
70
-
22.-[ ] Update bdk-jvm version from `SNAPSHOT` version to release version
71
-
23.-[ ] Update bdk-python version from `.dev` version to release version
72
-
24.-[ ] 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).
73
-
25.-[ ] Get a review and ACK and merge the PR updating all the languages to their release versions
74
-
26.-[ ] 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.
76
+
19.-[ ] Create a new branch off of `master` called `release/<feature version>`, e.g. `release/0.31`
77
+
20.-[ ] Update bdk-android version from `SNAPSHOT` version to release version
78
+
21.-[ ] Update bdk-jvm version from `SNAPSHOT` version to release version
79
+
22.-[ ] Update bdk-python version from `.dev` version to release version
80
+
23.-[ ] Open a PR to that release branch that updates the Android, JVM, and Python libraries' versions in the three steps above. See [example PR here](https://github.com/bitcoindevkit/bdk-ffi/pull/316).
81
+
24.-[ ] Get a review and ACK and merge the PR updating all the languages to their release versions
82
+
25.-[ ] 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.
75
83
```shell
76
84
git tag v0.6.0 --sign --edit
77
85
git push upstream v0.6.0
78
86
```
79
-
27.-[ ] Trigger manual releases for all 4 libraries (for Swift, go on the [bdk-swift](https://github.com/bitcoindevkit/bdk-swift) trigger the release on `master` and simply add the version number and tag name in the text fields when running the workflow manually. Note that the version number must not contain the `v`, i.e. `0.26.0`, but the tag will have it, i.e. `v0.26.0`).
80
-
28.-[ ] Make sure the released libraries work and contain the artifacts you would expect
81
-
29.-[ ] Aggregate all the changelog notices from the PRs and add them to the changelog file
82
-
30.-[ ] Bump the versions on master from `0.9.0-SNAPSHOT` to `0.10.0-SNAPSHOT`, `0.6.0.dev0` to `0.7.0.dev0`
83
-
31.-[ ] Apply changes to the minor_release and patch_release issue templates if they need any
84
-
32.-[ ] 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.
85
-
33.-[ ] Make release on GitHub (set as pre-release and generate auto release notes between the previous tag and the new one)
86
-
34.-[ ] Post in the announcement channel
87
-
35.-[ ] Tweet about the library
87
+
26.-[ ] Trigger manual releases for all 4 libraries (for Swift, go on the [bdk-swift](https://github.com/bitcoindevkit/bdk-swift) trigger the release on `master` and simply add the version number and tag name in the text fields when running the workflow manually. Note that the version number must not contain the `v`, i.e. `0.26.0`, but the tag will have it, i.e. `v0.26.0`).
88
+
27.-[ ] Make sure the released libraries work and contain the artifacts you would expect
89
+
28.-[ ] Aggregate all the changelog notices from the PRs and add them to the changelog file
90
+
29.-[ ] Bump the versions on master from `0.9.0-SNAPSHOT` to `0.10.0-SNAPSHOT`, `0.6.0.dev0` to `0.7.0.dev0`
91
+
30.-[ ] Apply changes to the minor_release and patch_release issue templates if they need any
92
+
31.-[ ] 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.
93
+
32.-[ ] Make release on GitHub (set as pre-release and generate auto release notes between the previous tag and the new one)
0 commit comments