-
Notifications
You must be signed in to change notification settings - Fork 66
Open
Description
Part 1: Bump BDK Rust Version
-
- Open a PR with an update to
Cargo.tomlto the new bdk release candidate and ensure all CI workflows run correctly. Fix errors if necessary.
- Open a PR with an update to
-
- Once the new bdk release is out, update the PR to replace the release candidate with the full release and merge.
Test out generating bindings between 2.2.0 and 2.3.0 and diff them to spot breaking changes
Part 2: Prepare Libraries for Release Branch
Android
-
- Delete the
targetdirectory in bdk-ffi and allbuilddirectories (in root andlib) in the bdk-android directory to make sure you're building the library from scratch.
- Delete the
-
- Build the library and run the offline and live tests, and adjust them if necessary (note that you'll need an Android emulator running).
# start an emulator prior to running the tests
cd ./bdk-android/
just clean
just build
just test-
- Update the readme if necessary.
Swift
-
- Delete the
targetdirectory in bdk-ffi.
- Delete the
-
- Run all offline and live tests and adjust them if necessary.
cd ./bdk-swift/
just clean
just build
just test-
- Update the readme if necessary.
Part 3: Release Workflow
-
- Update the Android and Swift libraries as per the Part 2 section above. Open a single PR on
masterfor all of these changes calledPrepare language bindings libraries for 0.X release. See example PR here.
- Update the Android and Swift libraries as per the Part 2 section above. Open a single PR on
-
- Create a new branch off of
mastercalledrelease/<feature version>, e.g.release/1.2
- Create a new branch off of
-
- Update bdk-android version from
SNAPSHOTversion to release version and open a PR to the release branch that updates the Android version. See example PR here.
- Update bdk-android version from
-
- Get a review and ACK and merge this PR on the release branch.
-
- 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.
git tag v0.6.0 --sign --edit
git push upstream v0.6.0-
- Trigger manual releases for both libraries (for Swift, go to the bdk-swift repository and trigger the workflow 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 thev, i.e.0.26.0, but the tag will have it, i.e.v0.26.0). For Android, trigger the release workflow using the tag (not a branch).
- Trigger manual releases for both libraries (for Swift, go to the bdk-swift repository and trigger the workflow using
-
- Make sure the released libraries work and contain the artifacts you would expect.
-
- Aggregate all the changelog notices from the PRs and add them to the changelog file. PR that.
-
- Bump the version on master from
1.1.0-SNAPSHOTto1.2.0-SNAPSHOT(Android) and1.1.0-alpha.0to1.2.0-alpha.0(Rust).
- Bump the version on master from
-
- Apply changes to the release issue template if needed.
-
- Make release on GitHub (generate auto release notes between the previous tag and the new one).
-
- Build API docs for Android locally and PR the website to the bitcoindevkit.org repo.
-
- Post in the announcement channel.
-
- Tweet about the new release!
Metadata
Metadata
Assignees
Labels
No labels
Type
Projects
Status
No status