btcpayserver / lnd

Lightning Network Daemon ⚡️

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

BTCPayServer LND

This repository is used to build LND Docker container images that are distributed with BTCPayServer by default.

Docker images are published to https://hub.docker.com/r/btcpayserver/lnd/

Versions:

Each version is marked with appropriate basedon-vX.X.X-beta tags. We are using basedon prefix in order not to conflict with LND tags from source repository.

Updating LND version in BTCPay Server

  1. Update https://github.com/btcpayserver/lnd

    a) Go to https://github.com/lightningnetwork/lnd/releases and find the commit on which we should add our resources.
    b) Checkout a new branch for that commit, usually in the format of lnd/v0.18.1-beta.
    c) Cherry-pick the Adding BtcPayServer related files and resources commit. Example commit.
    d) Tag it with the basedon-v* prefix name and push it. For v0.18.1, the tag name was basedon-v0.18.1-beta.
    e) The build process will start (it matches on tag format). Here is an example CircleCI build.
    f) The resulting image will be published to Docker Hub. Example Docker Hub image for v0.18.1.

    Occasionally, there are problems with:

  2. Update https://github.com/btcpayserver/BTCPayServer.Lightning

    Now we need to update the dependency in our Lightning library project. This library has tests, so we will know if something is broken.

    a) Modify the docker-compose.yml file to reference the new LND version. Example.
    b) Checkout a new branch for that commit, usually in the format of feat/lnd-0.18.1.
    c) Title the commit Bumping LND to 0.18.1-beta.
    d) Open a pull request and reference Docker Hub and Tag. Example PR. e) Once tests pass, you can merge it.

  3. Update https://github.com/btcpayserver/btcpayserver

    This will give access to LND to the whole dev team and allow for further testing on their dev machines if everything works as expected.

    a) Modify 2 docker-compose.yml files in BTCPayServer.Tests. Example pull request to emulate.
    b) When you open the PR, include the version and link to the BTCPayServer.Lightning PR.
    c) Once tests pass, you can merge it.

  4. Update https://github.com/btcpayserver/btcpayserver-docker

    a) Now that everything is prepared, open a PR in the btcpayserver-docker repository to allow these changes to propagate to everyone. Example pull request.
    b) Open the PR in DRAFT mode and tag @NicolasDorier and @Pavlenex as reviewers. They typically handle releases, and once they test that the LND version update works on their server, they can ACK the update and merge it as part of the release process.

Source repository

https://github.com/lightningnetwork/lnd

Links

About

Lightning Network Daemon ⚡️

License:MIT License


Languages

Language:Go 99.4%Language:Shell 0.4%Language:Makefile 0.1%Language:Dockerfile 0.1%