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
about: Create a new release [for release managers only]
4
-
title: 'Release MAJOR.MINOR.PATCH'
5
-
labels: 'release'
6
-
assignees: ''
4
+
title: "Release MAJOR.MINOR.PATCH"
5
+
labels: "release"
6
+
assignees: ""
7
7
---
8
8
9
9
# Part 1: Bump BDK Rust Version
@@ -15,79 +15,47 @@ assignees: ''
15
15
16
16
### _Android_
17
17
18
-
3.-[ ] Delete the `target` directory in bdk-ffi and all `build` directories (in root and `lib`) in the bdk-android directory to make sure you're building the library from scratch.
19
-
4.-[ ] Build the library and run the offline and live tests, and adjust them if necessary (note that you'll need an Android emulator running).
18
+
3.-[ ] Delete all previous build artifacts in order to build and test the library from scratch.
19
+
4.-[ ] Build the library and run the tests(note that you'll need an Android emulator running). Adjust them if necessary.
20
20
```shell
21
21
# start an emulator prior to running the tests
22
22
cd ./bdk-android/
23
23
just clean
24
-
just build-macos
25
-
just test
26
-
```
27
-
5.-[ ] Update the readme if necessary.
28
-
29
-
### _JVM_
30
-
31
-
6.-[ ] Delete the `target` directory in bdk-ffi and all `build` directories (in root and `lib`) in bdk-jvm directory to make sure you're building the library from scratch.
32
-
7.-[ ] Build the library and run all offline and live tests, and adjust them if necessary.
33
-
```shell
34
-
cd ./bdk-jvm/
35
-
just clean
36
24
just build
37
25
just test
38
26
```
39
-
8.-[ ] Update the readme if necessary.
27
+
5.-[ ] Update the readme if necessary.
40
28
41
29
### _Swift_
42
30
43
-
9.-[ ] Delete the `target` directory in bdk-ffi.
44
-
10.-[ ]Run all offline and live tests and adjust them if necessary.
31
+
6.-[ ] Delete all previous build artifacts in order to build and test the library from scratch.
32
+
7.-[ ]Build the library and run the tests. Adjust them if necessary.
45
33
```shell
46
34
cd ./bdk-swift/
47
35
just clean
48
36
just build
49
37
just test
50
38
```
51
-
11.-[ ] Update the readme if necessary.
52
-
53
-
### _Python_
54
-
55
-
12.-[ ] 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.
56
-
13.-[ ] Build the library.
57
-
```shell
58
-
cd ./bdk-python/
59
-
just clean
60
-
pip3 install --requirement requirements.txt
61
-
bash ./scripts/generate-macos-arm64.sh # run the script for your particular platform
62
-
python3 setup.py --verbose bdist_wheel
63
-
```
64
-
14.-[ ] Run all offline and live tests and adjust them if necessary.
15.-[ ] Update the readme and `setup.py` if necessary.
39
+
8.-[ ] Update the readme if necessary.
70
40
71
41
## Part 3: Release Workflow
72
42
73
-
16.-[ ] Update the Android, JVM, Python, and Swift libraries as per the _specific libraries' workflows_ sections 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).
74
-
17.-[ ] Create a new branch off of `master` called `release/<feature version>`, e.g. `release/1.2`
75
-
18.-[ ] Update bdk-android version from `SNAPSHOT` version to release version
76
-
19.-[ ] Update bdk-jvm version from `SNAPSHOT` version to release version
77
-
20.-[ ] Update bdk-python version from `.dev` version to release version
78
-
21.-[ ] 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).
79
-
22.-[ ] Get a review and ACK and merge the PR updating all the languages to their release versions on the release branch.
80
-
23.-[ ] 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.
43
+
9.-[ ] Update the Android and Swift libraries as per the _specific libraries' workflows_ sections 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).
44
+
10.-[ ] Create a new branch off of `master` called `release/<feature version>`, e.g. `release/1.2`
45
+
11.-[ ] Update bdk-android version from `SNAPSHOT` version to release version
46
+
12.-[ ] Open a PR to that release branch that updates the Android library version in the step above. See [example PR here](https://github.com/bitcoindevkit/bdk-ffi/pull/316).
47
+
13.-[ ] Get a review and ACK and merge the PR updating Android to its release version on the release branch.
48
+
14.-[ ] 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.
81
49
```shell
82
50
git tag v0.6.0 --sign --edit
83
51
git push upstream v0.6.0
84
52
```
85
-
24.-[ ] Trigger manual releases for all 4 libraries (for Swift, go on the [bdk-swift](https://github.com/bitcoindevkit/bdk-swift) repository, and trigger the using `master`. 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`). Note also that for all 3 other libraries on the bdk-ffi repo, you should trigger the release workflow using the tag (not a branch).
86
-
25.-[ ] Make sure the released libraries work and contain the artifacts you would expect.
87
-
26.-[ ] Aggregate all the changelog notices from the PRs and add them to the changelog file. PR that.
88
-
27.-[ ] Bump the versions on master from `1.1.0-SNAPSHOT` to `1.2.0-SNAPSHOT` (Android + JVM), `1.1.0.dev0` to `1.2.0.dev0` (Python), and `1.1.0-dev` to `1.2.0-alpha.0` (Rust).
89
-
28.-[ ] Apply changes to the release issue template if needed.
90
-
29.-[ ] Make release on GitHub (generate auto release notes between the previous tag and the new one).
91
-
30.-[ ]Build API docs for Android and JVM locally and PR the websites to the bitcoindevkit.org repo.
92
-
31.-[ ] Post in the announcement channel.
93
-
32.-[ ] Tweet about the new release!
53
+
15.-[ ] Trigger manual releases for both libraries (for Swift, go on the [bdk-swift](https://github.com/bitcoindevkit/bdk-swift) repository, and trigger the using `master`. 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`). Note also that for the Android library, you should trigger the release workflow using the tag (not a branch).
54
+
16.-[ ] Make sure the released libraries work and contain the artifacts you would expect.
55
+
17.-[ ] Aggregate all the changelog notices from the PRs and add them to the changelog file. PR that.
56
+
18.-[ ] Bump the version on master from `1.1.0-SNAPSHOT` to `1.2.0-SNAPSHOT` (Android) and `1.1.0-dev` to `1.2.0-alpha.0` (Rust).
57
+
19.-[ ] Apply changes to the release issue template if needed.
58
+
20.-[ ] Make release on GitHub (generate auto release notes between the previous tag and the new one).
59
+
21.-[ ]Trigger the workflow that builds the API docs for Android and PR the website to the bitcoindevkit.org repo.
0 commit comments