From d9654f429b7a5209bd736f7dbb8de2a7ceed424b Mon Sep 17 00:00:00 2001 From: Daniel McNally Date: Sat, 30 Apr 2022 15:25:56 -0400 Subject: [PATCH 1/3] docs/INSTALL.md: add list of build tags This adds a list of tags that can be used when building or installing lnd from source. Links to relevant code, protobuf definitions, or documentation are included to illustrate the purpose of each tag. Closes #3598. --- docs/INSTALL.md | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/docs/INSTALL.md b/docs/INSTALL.md index 5c16680d5..2f7a0d53b 100644 --- a/docs/INSTALL.md +++ b/docs/INSTALL.md @@ -238,6 +238,32 @@ used directly: ⛰ go install -v ./... ``` +**Tags** + +Release binaries and installations from source using `make release-install` +will have the following tags: + +- [autopilotrpc](/lnrpc/autopilotrpc/autopilot.proto) +- [signrpc](/lnrpc/signrpc/signer.proto) +- [walletrpc](/lnrpc/walletrpc/walletkit.proto) +- [chainrpc](/lnrpc/chainrpc/chainnotifier.proto) +- [invoicesrpc](/lnrpc/invoicesrpc/invoices.proto) +- [routerrpc](/lnrpc/routerrpc/router.proto) +- [watchtowerrpc](/lnrpc/watchtowerrpc/watchtower.proto) +- [monitoring](/monitoring) (for Prometheus integration) +- [peersrpc](/lnrpc/peersrpc/peers.proto) +- [kvdb_postrgres](/docs/postgres.md) +- [kvdb_etcd](/docs/etcd.md) + +The `dev` tag is used for development builds, and is not included in the +release builds & installation. + +You can specify a custom set of tags when installing from source using the `tags=""` parameter. For example: + +```shell +make install tags="signrpc walletrpc routerrpc invoicesrpc" +``` + **Updating** To update your version of `lnd` to the latest version run the following From 9966960b9a11538d97510766873af93f6302d640 Mon Sep 17 00:00:00 2001 From: Daniel McNally Date: Sat, 30 Apr 2022 15:28:27 -0400 Subject: [PATCH 2/3] build: update release tags This updates the list of tags used for `release` builds in the release documentation. `peersrpc`, `kvdb_postgres`, and `kvdb_etcd` are now automatically included in `make release` or `make release-install` builds. --- .github/workflows/release.yaml | 2 +- docs/INSTALL.md | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 7612e49df..e7bf7e830 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -94,7 +94,7 @@ jobs: Our release binaries are fully reproducible. Third parties are able to verify that the release binaries were produced properly without having to trust the release manager(s). See our [reproducible builds guide](https://github.com/lightningnetwork/lnd/tree/master/build/release) for how this can be achieved. The release binaries are compiled with `go${{ env.GO_VERSION }}`, which is required by verifiers to arrive at the same ones. - They include the following build tags: `autopilotrpc`, `signrpc`, `walletrpc`, `chainrpc`, `invoicesrpc`, `neutrinorpc`, `routerrpc`, `watchtowerrpc` and `monitoring`. Note that these are already included in the release script, so they do not need to be provided. + They include the following build tags: `autopilotrpc`, `signrpc`, `walletrpc`, `chainrpc`, `invoicesrpc`, `neutrinorpc`, `routerrpc`, `watchtowerrpc`, `monitoring`, `peersrpc`, `kvdb_postrgres`, and `kvdb_etcd`. Note that these are already included in the release script, so they do not need to be provided. The `make release` command can be used to ensure one rebuilds with all the same flags used for the release. If one wishes to build for only a single platform, then `make release sys= tag=` can be used. diff --git a/docs/INSTALL.md b/docs/INSTALL.md index 2f7a0d53b..d14c4be2b 100644 --- a/docs/INSTALL.md +++ b/docs/INSTALL.md @@ -248,6 +248,7 @@ will have the following tags: - [walletrpc](/lnrpc/walletrpc/walletkit.proto) - [chainrpc](/lnrpc/chainrpc/chainnotifier.proto) - [invoicesrpc](/lnrpc/invoicesrpc/invoices.proto) +- [neutrinorpc](/lnrpc/neutrinorpc/neutrino.proto) - [routerrpc](/lnrpc/routerrpc/router.proto) - [watchtowerrpc](/lnrpc/watchtowerrpc/watchtower.proto) - [monitoring](/monitoring) (for Prometheus integration) From 1b50c9ef9644a7f075c6bdfb4ac29582ce002b83 Mon Sep 17 00:00:00 2001 From: Daniel McNally Date: Sat, 30 Apr 2022 15:34:00 -0400 Subject: [PATCH 3/3] add release-notes entry for #6486 --- docs/release-notes/release-notes-0.15.0.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/docs/release-notes/release-notes-0.15.0.md b/docs/release-notes/release-notes-0.15.0.md index 658ee46fd..022fbc439 100644 --- a/docs/release-notes/release-notes-0.15.0.md +++ b/docs/release-notes/release-notes-0.15.0.md @@ -283,6 +283,9 @@ to the htlc interceptor API. * Improved instructions on [how to build lnd for mobile](https://github.com/lightningnetwork/lnd/pull/6085). * [Log force-close related messages on "info" level](https://github.com/lightningnetwork/lnd/pull/6124). +* [Add list of build tags](https://github.com/lightningnetwork/lnd/pull/6486) + to the install instructions. + ## Monitoring A new [flag (`--prometheus.perfhistograms`) has been added to enable export of