From 61d82fd1f2c0dca0eea50dd0aac8ac513f10f1d6 Mon Sep 17 00:00:00 2001 From: ziggie Date: Mon, 12 Jan 2026 20:08:36 +0100 Subject: [PATCH 1/3] build: update CI+release version to Go 1.25.5 This updates the toolchain which we require to build the LND executable. --- .github/actions/setup-go/action.yml | 2 +- .github/workflows/main.yml | 2 +- .github/workflows/release.yaml | 2 +- .golangci.yml | 2 +- Dockerfile | 2 +- Makefile | 2 +- dev.Dockerfile | 2 +- docker/btcd/Dockerfile | 2 +- lnrpc/Dockerfile | 2 +- lnrpc/gen_protos_docker.sh | 2 +- make/builder.Dockerfile | 2 +- tools/Dockerfile | 2 +- 12 files changed, 12 insertions(+), 12 deletions(-) diff --git a/.github/actions/setup-go/action.yml b/.github/actions/setup-go/action.yml index 141097edc..09f47d769 100644 --- a/.github/actions/setup-go/action.yml +++ b/.github/actions/setup-go/action.yml @@ -52,7 +52,7 @@ runs: # The key is used to create and later look up the cache. It's made of # four parts: # - The base part is made from the OS name, Go version and a - # job-specified key prefix. Example: `linux-go-1.25.3-unit-test-`. + # job-specified key prefix. Example: `linux-go-1.25.5-unit-test-`. # It ensures that a job running on Linux with Go 1.25 only looks for # caches from the same environment. # - The unique part is the `hashFiles('**/go.sum')`, which calculates a diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 5f49e64b6..8d5bba990 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -40,7 +40,7 @@ env: # If you change this please also update GO_VERSION in Makefile (then run # `make lint` to see where else it needs to be updated as well). - GO_VERSION: 1.25.3 + GO_VERSION: 1.25.5 jobs: static-checks: diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 64b768f2f..012a71628 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -12,7 +12,7 @@ defaults: env: # If you change this please also update GO_VERSION in Makefile (then run # `make lint` to see where else it needs to be updated as well). - GO_VERSION: 1.25.3 + GO_VERSION: 1.25.5 jobs: ######################## diff --git a/.golangci.yml b/.golangci.yml index 3225c5c2b..05082250b 100644 --- a/.golangci.yml +++ b/.golangci.yml @@ -3,7 +3,7 @@ version: "2" run: # If you change this please also update GO_VERSION in Makefile (then run # `make lint` to see where else it needs to be updated as well). - go: "1.25.3" + go: "1.25.5" # Abort after 10 minutes. timeout: 10m diff --git a/Dockerfile b/Dockerfile index e28726dc3..a152d9184 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,6 +1,6 @@ # If you change this please also update GO_VERSION in Makefile (then run # `make lint` to see where else it needs to be updated as well). -FROM golang:1.25.3-alpine as builder +FROM golang:1.25.5-alpine as builder # Force Go to use the cgo based DNS resolver. This is required to ensure DNS # queries required to connect to linked containers succeed. diff --git a/Makefile b/Makefile index c78e6e9fd..bba3573ca 100644 --- a/Makefile +++ b/Makefile @@ -32,7 +32,7 @@ ACTIVE_GO_VERSION_MINOR := $(shell echo $(ACTIVE_GO_VERSION) | cut -d. -f2) # GO_VERSION is the Go version used for the release build, docker files, and # GitHub Actions. This is the reference version for the project. All other Go # versions are checked against this version. -GO_VERSION = 1.25.3 +GO_VERSION = 1.25.5 GOBUILD := $(GOCC) build -v GOINSTALL := $(GOCC) install -v diff --git a/dev.Dockerfile b/dev.Dockerfile index 41a9b66e2..4d681d8de 100644 --- a/dev.Dockerfile +++ b/dev.Dockerfile @@ -1,6 +1,6 @@ # If you change this please also update GO_VERSION in Makefile (then run # `make lint` to see where else it needs to be updated as well). -FROM golang:1.25.3-alpine AS builder +FROM golang:1.25.5-alpine AS builder LABEL maintainer="Olaoluwa Osuntokun " diff --git a/docker/btcd/Dockerfile b/docker/btcd/Dockerfile index 699c3466c..97ab32d36 100644 --- a/docker/btcd/Dockerfile +++ b/docker/btcd/Dockerfile @@ -1,6 +1,6 @@ # If you change this please also update GO_VERSION in Makefile (then run # `make lint` to see where else it needs to be updated as well). -FROM golang:1.25.3-alpine as builder +FROM golang:1.25.5-alpine as builder LABEL maintainer="Olaoluwa Osuntokun " diff --git a/lnrpc/Dockerfile b/lnrpc/Dockerfile index 431eeb20b..680a774e8 100644 --- a/lnrpc/Dockerfile +++ b/lnrpc/Dockerfile @@ -1,6 +1,6 @@ # If you change this please also update GO_VERSION in Makefile (then run # `make lint` to see where else it needs to be updated as well). -FROM golang:1.25.3-bookworm +FROM golang:1.25.5-bookworm RUN apt-get update && apt-get install -y \ git \ diff --git a/lnrpc/gen_protos_docker.sh b/lnrpc/gen_protos_docker.sh index 604c3bbc1..68c65581a 100755 --- a/lnrpc/gen_protos_docker.sh +++ b/lnrpc/gen_protos_docker.sh @@ -6,7 +6,7 @@ set -e DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" # golang docker image version used in this script. -GO_IMAGE=docker.io/library/golang:1.25.3-alpine +GO_IMAGE=docker.io/library/golang:1.25.5-alpine PROTOBUF_VERSION=$(docker run --rm -v $DIR/../:/lnd -w /lnd $GO_IMAGE \ go list -f '{{.Version}}' -m google.golang.org/protobuf) diff --git a/make/builder.Dockerfile b/make/builder.Dockerfile index c85ddbdd1..99d4aec55 100644 --- a/make/builder.Dockerfile +++ b/make/builder.Dockerfile @@ -1,6 +1,6 @@ # If you change this please also update GO_VERSION in Makefile (then run # `make lint` to see where else it needs to be updated as well). -FROM golang:1.25.3-bookworm +FROM golang:1.25.5-bookworm MAINTAINER Olaoluwa Osuntokun diff --git a/tools/Dockerfile b/tools/Dockerfile index b0e660f42..986eddae6 100644 --- a/tools/Dockerfile +++ b/tools/Dockerfile @@ -1,4 +1,4 @@ -FROM golang:1.25.3 +FROM golang:1.25.5 RUN apt-get update && apt-get install -y git ENV GOCACHE=/tmp/build/.cache From e26a114cdcf0c5e409b2df3ed6d4bd508193671c Mon Sep 17 00:00:00 2001 From: ziggie Date: Mon, 12 Jan 2026 20:09:34 +0100 Subject: [PATCH 2/3] mod: update the minimum go version to 1.24.11 We update the minimum required go version to build the LND exectuable to the latest minor release of go 1.24.11. --- cert/go.mod | 2 +- clock/go.mod | 2 +- docs/INSTALL.md | 18 +++++++++--------- fn/go.mod | 2 +- go.mod | 2 +- healthcheck/go.mod | 2 +- kvdb/go.mod | 2 +- queue/go.mod | 2 +- sqldb/go.mod | 2 +- ticker/go.mod | 2 +- tlv/go.mod | 2 +- tools/go.mod | 2 +- tools/linters/go.mod | 2 +- tor/go.mod | 2 +- 14 files changed, 22 insertions(+), 22 deletions(-) diff --git a/cert/go.mod b/cert/go.mod index 24498a3fe..4dc5f2a78 100644 --- a/cert/go.mod +++ b/cert/go.mod @@ -1,6 +1,6 @@ module github.com/lightningnetwork/lnd/cert -go 1.19 +go 1.24.11 require github.com/stretchr/testify v1.8.2 diff --git a/clock/go.mod b/clock/go.mod index b54398ffc..1c176ad4a 100644 --- a/clock/go.mod +++ b/clock/go.mod @@ -1,6 +1,6 @@ module github.com/lightningnetwork/lnd/clock -go 1.19 +go 1.24.11 require github.com/stretchr/testify v1.8.2 diff --git a/docs/INSTALL.md b/docs/INSTALL.md index bc1a64d2a..a7714c41b 100644 --- a/docs/INSTALL.md +++ b/docs/INSTALL.md @@ -93,7 +93,7 @@ following build dependencies are required: ### Installing Go -`lnd` is written in Go, with a minimum version of `1.24.9` (or, in case this +`lnd` is written in Go, with a minimum version of `1.24.11` (or, in case this document gets out of date, whatever the Go version in the main `go.mod` file requires). To install, run one of the following commands for your OS: @@ -101,15 +101,15 @@ requires). To install, run one of the following commands for your OS: Linux (x86-64) ``` - wget https://dl.google.com/go/go1.24.9.linux-amd64.tar.gz - echo "5b7899591c2dd6e9da1809fde4a2fad842c45d3f6b9deb235ba82216e31e34a6 go1.24.9.linux-amd64.tar.gz" | sha256sum --check + wget https://dl.google.com/go/go1.24.11.linux-amd64.tar.gz + echo "bceca00afaac856bc48b4cc33db7cd9eb383c81811379faed3bdbc80edb0af65 go1.24.11.linux-amd64.tar.gz" | sha256sum --check ``` - The command above should output `go1.24.9.linux-amd64.tar.gz: OK`. If it + The command above should output `go1.24.11.linux-amd64.tar.gz: OK`. If it doesn't, then the target REPO HAS BEEN MODIFIED, and you shouldn't install this version of Go. If it matches, then proceed to install Go: ``` - sudo rm -rf /usr/local/go && sudo tar -C /usr/local -xzf go1.24.9.linux-amd64.tar.gz + sudo rm -rf /usr/local/go && sudo tar -C /usr/local -xzf go1.24.11.linux-amd64.tar.gz export PATH=$PATH:/usr/local/go/bin ``` @@ -118,15 +118,15 @@ requires). To install, run one of the following commands for your OS: Linux (ARMv6) ``` - wget https://dl.google.com/go/go1.24.9.linux-armv6l.tar.gz - echo "39dafc8e7e5e455995f87e1ffc6b0892302ea519c1f0e59c9e2e0fda41b8aa56 go1.24.9.linux-armv6l.tar.gz" | sha256sum --check + wget https://dl.google.com/go/go1.24.11.linux-armv6l.tar.gz + echo "24d712a7e8ea2f429c05bc67287249e0291f2fe0ea6d6ff268f11b7343ad0f47 go1.24.11.linux-armv6l.tar.gz" | sha256sum --check ``` - The command above should output `go1.24.9.linux-armv6l.tar.gz: OK`. If it + The command above should output `go1.24.11.linux-armv6l.tar.gz: OK`. If it isn't, then the target REPO HAS BEEN MODIFIED, and you shouldn't install this version of Go. If it matches, then proceed to install Go: ``` - sudo rm -rf /usr/local/go && tar -C /usr/local -xzf go1.24.9.linux-armv6l.tar.gz + sudo rm -rf /usr/local/go && tar -C /usr/local -xzf go1.24.11.linux-armv6l.tar.gz export PATH=$PATH:/usr/local/go/bin ``` diff --git a/fn/go.mod b/fn/go.mod index abf0cdf4c..adb56f814 100644 --- a/fn/go.mod +++ b/fn/go.mod @@ -1,6 +1,6 @@ module github.com/lightningnetwork/lnd/fn/v2 -go 1.23 +go 1.24.11 require ( github.com/stretchr/testify v1.8.1 diff --git a/go.mod b/go.mod index 35a47c702..46a5a2e12 100644 --- a/go.mod +++ b/go.mod @@ -219,6 +219,6 @@ replace google.golang.org/protobuf => github.com/lightninglabs/protobuf-go-hex-d // If you change this please also update docs/INSTALL.md and GO_VERSION in // Makefile (then run `make lint` to see where else it needs to be updated as // well). -go 1.24.9 +go 1.24.11 retract v0.0.2 diff --git a/healthcheck/go.mod b/healthcheck/go.mod index a9f846091..4c562bdd6 100644 --- a/healthcheck/go.mod +++ b/healthcheck/go.mod @@ -24,4 +24,4 @@ require ( gopkg.in/yaml.v3 v3.0.1 // indirect ) -go 1.24.9 +go 1.24.11 diff --git a/kvdb/go.mod b/kvdb/go.mod index 743beddfd..33f272218 100644 --- a/kvdb/go.mod +++ b/kvdb/go.mod @@ -147,4 +147,4 @@ replace github.com/ulikunitz/xz => github.com/ulikunitz/xz v0.5.11 // https://deps.dev/advisory/OSV/GO-2021-0053?from=%2Fgo%2Fgithub.com%252Fgogo%252Fprotobuf%2Fv1.3.1 replace github.com/gogo/protobuf => github.com/gogo/protobuf v1.3.2 -go 1.24.9 +go 1.24.11 diff --git a/queue/go.mod b/queue/go.mod index 58267e276..590bd7d68 100644 --- a/queue/go.mod +++ b/queue/go.mod @@ -4,4 +4,4 @@ require github.com/lightningnetwork/lnd/ticker v1.0.0 replace github.com/lightningnetwork/lnd/ticker v1.0.0 => ../ticker -go 1.19 +go 1.24.11 diff --git a/sqldb/go.mod b/sqldb/go.mod index 6b7f56578..3173603dc 100644 --- a/sqldb/go.mod +++ b/sqldb/go.mod @@ -75,4 +75,4 @@ require ( modernc.org/token v1.1.0 // indirect ) -go 1.24.9 +go 1.24.11 diff --git a/ticker/go.mod b/ticker/go.mod index 3017b2139..d78f913a3 100644 --- a/ticker/go.mod +++ b/ticker/go.mod @@ -1,3 +1,3 @@ module github.com/lightningnetwork/lnd/ticker -go 1.19 +go 1.24.11 diff --git a/tlv/go.mod b/tlv/go.mod index 44953d0c4..dd1302d75 100644 --- a/tlv/go.mod +++ b/tlv/go.mod @@ -22,4 +22,4 @@ require ( gopkg.in/yaml.v3 v3.0.1 // indirect ) -go 1.24.9 +go 1.24.11 diff --git a/tools/go.mod b/tools/go.mod index e97047cc7..4af340879 100644 --- a/tools/go.mod +++ b/tools/go.mod @@ -1,6 +1,6 @@ module github.com/lightningnetwork/lnd/tools -go 1.24.9 +go 1.24.11 require ( 4d63.com/gocheckcompilerdirectives v1.3.0 // indirect diff --git a/tools/linters/go.mod b/tools/linters/go.mod index cebb0e7b4..3ee38851f 100644 --- a/tools/linters/go.mod +++ b/tools/linters/go.mod @@ -1,6 +1,6 @@ module github.com/lightningnetwork/lnd/tools/linters -go 1.24.9 +go 1.24.11 require ( github.com/golangci/plugin-module-register v0.1.1 diff --git a/tor/go.mod b/tor/go.mod index fd4c3d429..a67c3ed79 100644 --- a/tor/go.mod +++ b/tor/go.mod @@ -23,4 +23,4 @@ require ( gopkg.in/yaml.v3 v3.0.1 // indirect ) -go 1.24.9 +go 1.24.11 From 7085f4706d70a26404f145aec18c70bf71954cd9 Mon Sep 17 00:00:00 2001 From: ziggie Date: Tue, 13 Jan 2026 17:31:24 +0100 Subject: [PATCH 3/3] fn: fix printf vet check in TestSomeToOkf Go 1.24+ See also https://github.com/golang/go/issues/60529. Now we need to use a constant. --- fn/option_test.go | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/fn/option_test.go b/fn/option_test.go index 69f6608d3..915110439 100644 --- a/fn/option_test.go +++ b/fn/option_test.go @@ -20,11 +20,11 @@ func TestSomeToOk(t *testing.T) { } func TestSomeToOkf(t *testing.T) { - errStr := "err" - require.Equal(t, Some(1).SomeToOkf(errStr), Ok(1)) + const errFmt = "missing value: %s" + require.Equal(t, Some(1).SomeToOkf(errFmt, "test"), Ok(1)) require.Equal( - t, None[uint8]().SomeToOkf(errStr), - Err[uint8](fmt.Errorf(errStr)), + t, None[uint8]().SomeToOkf(errFmt, "test"), + Err[uint8](fmt.Errorf(errFmt, "test")), ) }