|
| 1 | +# lnc-web Release Process |
| 2 | + |
| 3 | +This document describes the steps needed to release a new version of |
| 4 | +`@lightninglabs/lnc-web` and publish the package to the NPM registry. |
| 5 | + |
| 6 | +We typically release a new version of `lnc-web` whenever a new version of |
| 7 | +`lnc-core` has been released. We want to keep the version numbers in sync |
| 8 | +for both packages. |
| 9 | + |
| 10 | +The steps below to should be done in a PR with proper review. |
| 11 | + |
| 12 | +## Update WASM binary CDN URL |
| 13 | + |
| 14 | +In [lnc.ts](https://github.com/lightninglabs/lnc-web/blob/main/lib/lnc.ts), |
| 15 | +update the default `wasmClientCode` property to point to the latest version |
| 16 | +of the WASM binary which should have been published to the |
| 17 | +https://lightning.engineering website. |
| 18 | + |
| 19 | +## Update lnc-core version |
| 20 | + |
| 21 | +Run the following command in the root dir of the project to update to the |
| 22 | +latest version of `@lightninglabs/lnc-core`. |
| 23 | + |
| 24 | +```sh |
| 25 | +$ yarn upgrade @lightninglabs/lnc-core@latest |
| 26 | +``` |
| 27 | + |
| 28 | +## Versioning |
| 29 | + |
| 30 | +Increment the version number in the |
| 31 | +[package.json](https://github.com/lightninglabs/lnc-web/blob/main/package.json) |
| 32 | +file to match the latest version of `@lightninglabs/lnc-core`. If we need to bump |
| 33 | +the version of `lnc-web` without requiring a new version of |
| 34 | +`lightning-node-connect` or `lnc-core`, we should append an incrementing number |
| 35 | +to the end of the version. For example, |
| 36 | +[v0.1.11-alpha.1](https://github.com/lightninglabs/lnc-web/releases/tag/v0.1.11-alpha.1). |
| 37 | + |
| 38 | +## Publishing to NPM |
| 39 | + |
| 40 | +Building and publishing the this package to NPM is handled automatically by |
| 41 | +the [npm.yml](https://github.com/lightninglabs/lnc-web/blob/main/.github/workflows/npm.yml) |
| 42 | +Github workflow. This is triggered when a new release is created. |
| 43 | + |
| 44 | +## Github Release |
| 45 | + |
| 46 | +[Draft a new release](https://github.com/lightninglabs/lnc-web/releases/new) |
| 47 | +on Github. Create a new tag and auto-generate the release notes. You do not |
| 48 | +need to include any assets. |
| 49 | + |
| 50 | +Once you publish the release, the build and publish to NPM will complete in |
| 51 | +a few minutes. You can confirm the new version is published by visiting |
| 52 | +https://www.npmjs.com/package/@lightninglabs/lnc-web |
| 53 | + |
| 54 | +## Post Release |
| 55 | + |
| 56 | +After the release has been published, remember to update the demo apps to use |
| 57 | +the latest version of `@lightninglabs/lnc-web`. |
0 commit comments