diff --git a/RELEASE.md b/RELEASE.md index 972d16c..96f4178 100644 --- a/RELEASE.md +++ b/RELEASE.md @@ -7,6 +7,15 @@ This document describes the steps needed to release a new version of LNC binarie 1. Android Studio with Android SDK (API level 16 or newer) 2. Xcode (latest version) 3. Go v1.21.0 or newer +4. gomobile (https://pkg.go.dev/golang.org/x/mobile/cmd/gomobile) +5. javac version 1.7 or higher (Included in Java Development Kit 7+) + +#### Android Studio SDK tools requirements + +Ensure that NDK is installed for the Android Studio SDK tools. +To install NDK in Android Studio, navigate to Preferences (or Settings) | +Appearance & Behavior | System Settings | Android SDK. Navigate to the SDK Tools +tab, mark `NDK (Side by side)` and then click the "Apply" button. ### Build Release Binaries @@ -26,6 +35,14 @@ When this completes, a `build` dir will be created with four files: ### Sign the manifest and rename the signature file +For the signing commands below to work without modifying the path, you first +need navigate `build` dir that was created with the `make release` command +above. + +```sh +$ cd build +``` + #### Sign the manifest file using your PGP key. - Replace `{PGP_EMAIL}` with your email address associated with your PGP key @@ -35,8 +52,18 @@ When this completes, a `build` dir will be created with four files: $ gpg --default-key {PGP_EMAIL} --output manifest-{GITHUB_USERNAME}-vX.Y.Z-alpha.sig --detach-sign manifest-vX.Y.Z-alpha.txt ``` +#### Create an Open Timestamp for the signed manifest + +Go to https://opentimestamps.org. Upload the newly generated +`manifest-{GITHUB_USERNAME}-vX.Y.Z-alpha.sig` signature file, and download the +resulting `ots` file. + ### Create a tag and push to Github +First, double check that the release you just created, was based on the latest +upstream master branch commit. Also verify that you are currently based on the +on the latest master branch commit when creating any tags! + Using the `-s` option signs the tag with your PGP key ```sh @@ -52,13 +79,14 @@ On Github create a new release. Select the tag you just pushed, then click the Take the rest of the content from a previous release. Be sure to update the version number and update the verification examples to use your own PGP key. -In the assets, include these five files: +In the assets, include these six files: - lnc-vX.Y.Z-alpha.wasm - lnc-vX.Y.Z-alpha-android.zip - lnc-vX.Y.Z-alpha-ios.zip - manifest-vX.Y.Z-alpha.txt - manifest-{GITHUB_USERNAME}-vX.Y.Z-alpha.sig +- manifest-{GITHUB_USERNAME}-vX.Y.Z-alpha.sig.ots ### Deploy the WASM binary to CDN