Commit graph

111 commits

Author SHA1 Message Date
Boris Nagaev
ff98891ffe
build: support Docker releases from Git worktrees
Mount a linked worktree's shared Git directory into the release helper
at its original path.

Its .git pointer otherwise resolves to a path absent from the container,
preventing tag checks and source archiving.
2026-08-13 00:20:10 +00:00
Boris Nagaev
f2a7073106
build: initialize Docker release caches
Create and validate host cache directories before Docker bind mounts them.

On a fresh Go installation, Docker otherwise creates missing sources as
root. The release helper runs as the invoking user and cannot write
to those caches.
2026-08-13 00:20:10 +00:00
ziggie
92e29a422e
build: bump Go versions 2026-06-08 17:02:58 -03:00
ziggie
d3dad1690d
build: bump Go version to 1.26.3 2026-05-26 15:45:16 -03:00
Andras Banki-Horvath
df2843485e
multi: Allow selecting miner backend in itest
Add an itest flag to choose the miner backend (btcd vs bitcoind) and
provide a build-tag default so that `-tags=bitcoind` naturally uses a
bitcoind miner.

Wire the flag through `make testing_flags.mk` so callers can set
`minerbackend=bitcoind` independently of the chain backend.
2026-03-23 15:46:37 +01:00
ziggie
61d82fd1f2
build: update CI+release version to Go 1.25.5
This updates the toolchain which we require to build the LND
executable.
2026-01-13 16:07:38 +01:00
Boris Nagaev
4fc8d8dda3
build: update CI+release version to Go 1.25.3
We also update the go.mod files to pin to Go 1.24.9.
2025-10-21 14:32:44 -03:00
Olaoluwa Osuntokun
7fcbbd44ca
build: update CI+release version to Go 1.25.2
We also update the go.mod files to pin to Go 1.24.8.
2025-10-11 13:39:51 +01:00
Boris Nagaev
6ffe257004
multi: bump Go to 1.24.6 2025-08-30 14:13:44 -03:00
ziggie
87844cd5b4
multi: bump Golang version to v1.23.12 2025-08-07 16:53:45 +02:00
Elle Mouton
1a60edbd33
make+graph/db: add -short helper and skip tests in short mode
In this commit, we add a makefile helper that can be used to add the
"-short" flag to the "go test" command when running unit tests via "make
unit ...".

Tests can then be expanded with a `testing.Short()` check to potentially
skip the test in short mode. This is useful for if a dev wants to
quickly run most of the tests in a package but would like to opt out of
running the longer form tests such as stress tests or rapid generation
tests.

This commit adds this check to two graph/db tests.
2025-08-05 06:34:38 +02:00
Boris Nagaev
643fbb8af6
multi: update Go to 1.23.10 2025-07-16 01:19:58 -03:00
yyforyongyu
3b84088d4a
multi: enable passing flag basedir to make itest 2025-06-23 17:29:26 +08:00
Olaoluwa Osuntokun
1c76c6198c
build: bump Go version to v1.23.9 2025-05-06 15:50:16 -07:00
Oliver Gugger
576da75a07
multi: remove unneeded env variables
With Go 1.23 we don't need to set any of these variables anymore, as
they're the default values now.
2025-02-28 14:55:34 +01:00
Oliver Gugger
70ac201cb8
make+tools: remove goacc, use Go 1.20 builtin functionality
Starting with Go 1.20 the -coverprofile flag does the same that GOACC
did before.
2025-02-28 14:55:33 +01:00
Oliver Gugger
ad021a290d
Makefile: add GOCC variable 2025-02-23 09:48:54 +01:00
Olaoluwa Osuntokun
61852fbe95
multi: update build system to Go 1.23 2025-02-13 16:57:06 -08:00
Oliver Gugger
191c838ad1
multi: bump Go version to v1.22.11 2025-01-30 16:13:26 +01:00
yyforyongyu
88bd0cb806
itest: shuffle test cases to even out blocks mined in tranches
This commit adds a new flag to shuffle all the test cases before running
them so tests which require lots of blocks to be mined are less likely
to be run in the same tranch.

The other benefit is this approach provides a more efficient way to
figure which tests are broken since all the differnet backends are
running different tranches in their builds, we can identify more failed
tests in one push.
2024-12-20 19:38:05 +08:00
Oliver Gugger
c022284f37
GitHub+make: run cross compile in matrix
This is just a test, perhaps this doesn't make any sense at all as it
will clog up too many build runners.
2024-12-12 10:09:30 +01:00
Olaoluwa Osuntokun
ff2a1a4bbb
Merge pull request #9318 from guggero/cross-compile-fix
make: remove exotic build targets from release list
2024-12-03 04:47:03 -06:00
Oliver Gugger
7692ced5f5
multi: update comment on changing Go version
Since we now have a scripted check that makes sure the Golang version is
synced throughout all files, it is important that the main version in
the Makefile is changed, then all other versions can be detected by that
script.
2024-12-02 09:48:26 +01:00
Oliver Gugger
4681b52c5a
make: remove exotic build targets from release list
With this commit we remove build targets from our list of release build
OS/architecture pairs to reduce the overhead of building for them with
every pull request and every release.

According to https://tooomm.github.io/github-release-stats/?username=lightningnetwork&repository=lnd
those targets are rarely used, compared to the most popular ones:

| Release File                          | Absolute DL | Relative DL |
|---------------------------------------|-------------|-------------|
| lnd-darwin-amd64-v0.18.3-beta.tar.gz  | 1,930       | 72          |
| lnd-darwin-arm64-v0.18.3-beta.tar.gz  | 2,020       | 162         |
| lnd-freebsd-386-v0.18.3-beta.tar.gz   | 1,864       | 6           |
| lnd-freebsd-amd64-v0.18.3-beta.tar.gz | 1,874       | 16          |
| lnd-freebsd-arm-v0.18.3-beta.tar.gz   | 1,865       | 7           |
| lnd-linux-386-v0.18.3-beta.tar.gz     | 1,873       | 15          |
| lnd-linux-amd64-v0.18.3-beta.tar.gz   | 3,355       | 1,497       |
| lnd-linux-arm64-v0.18.3-beta.tar.gz   | 3,053       | 1,195       |
| lnd-linux-armv6-v0.18.3-beta.tar.gz   | 1,868       | 10          |
| lnd-linux-armv7-v0.18.3-beta.tar.gz   | 1,893       | 35          |
| lnd-linux-mips-v0.18.3-beta.tar.gz    | 1,859       | 1           |
| lnd-linux-mips64-v0.18.3-beta.tar.gz  | 1,860       | 2           |
| lnd-linux-mipsle-v0.18.3-beta.tar.gz  | 1,859       | 1           |
| lnd-linux-ppc64-v0.18.3-beta.tar.gz   | 1,858       | 0           |
| lnd-linux-ppc64le-v0.18.3-beta.tar.gz | 1,859       | 1           |
| lnd-linux-s390x-v0.18.3-beta.tar.gz   | 1,859       | 1           |
| lnd-netbsd-amd64-v0.18.3-beta.tar.gz  | 1,859       | 1           |
| lnd-openbsd-amd64-v0.18.3-beta.tar.gz | 1,861       | 3           |
| lnd-source-v0.18.3-beta.tar.gz        | 1,863       | 5           |
| lnd-windows-386-v0.18.3-beta.zip      | 1,895       | 37          |
| lnd-windows-amd64-v0.18.3-beta.zip    | 1,997       | 139         |
| lnd-windows-arm-v0.18.3-beta.zip      | 1,868       | 10          |
2024-11-28 09:42:05 +01:00
Olaoluwa Osuntokun
19b5a1fb05
build: set min build version to Go 1.22.6
Go 1.23 was released this week, so with this PR we update the build
system to officially support the last two releases.
2024-08-20 19:13:23 +02:00
Olaoluwa Osuntokun
bc2922232c
build: remove old Travis references
We no longer use Travis.
2024-07-25 13:14:26 -07:00
Olaoluwa Osuntokun
9e2b308f93
build: update to Go 1.22.5 2024-07-24 14:21:13 -07:00
Olaoluwa Osuntokun
a585833fb5
build: update release builds and CI to Go 1.22.3 2024-05-09 15:24:19 -07:00
Oliver Gugger
8a5160e1de
multi: add test coverage for integration tests 2024-04-23 19:15:33 +02:00
Oliver Gugger
b1b32d9026
make: add nocache and verbose arguments
To make it easy to add "-test.v" and "-test.count=1" to the unit tests,
we add two new make flags.
2024-03-18 17:07:26 +01:00
Andras Banki-Horvath
ba8e7550d5
itest: add the -nativesql flag to run SQL itests with native SQL tables 2024-03-01 10:08:10 +01:00
ziggie
339c5fe1f0
makefile: add rpc tags to the unit tests. 2024-01-29 15:09:22 +00:00
positiveblue
09d21345e1
multi: bump Go version
Bump all build go versions to v1.21.0
Bump the minimum build package version to v1.19.0

Debian "buster" is not longer supported. Security updates have been
discontinued since June 30th 2022. We will build using the latest
version, "bookworm".
2023-09-05 10:11:42 -07:00
Olaoluwa Osuntokun
dde1495e1d
build: bump Go version to v1.21.0, lnd version to v0.17.0 rc1 (#7914)
* build: update Go version to 1.21.0

* build: bump version to v0.17.0 rc1
2023-08-23 17:33:11 -07:00
ziggie
469dfd5f42
make: add benchmark tests
Add benchmark tests as a separate test run besides the current
unit tests.
2023-05-09 16:47:47 +02:00
Olaoluwa Osuntokun
6e0a67d05b
Merge pull request #7582 from Roasbeef/go-1-20-3
build: update build system to Go 1.20.3
2023-04-06 11:38:49 -07:00
Olaoluwa Osuntokun
c0f4defe0b
build: update build system to Go 1.20.3 2023-04-05 11:28:34 -07:00
yyforyongyu
941a33af31
Makefile: add testing_flags to coverage test 2023-03-16 04:23:07 +08:00
Olaoluwa Osuntokun
0bbbd9b911
build: bump min Go version to 1.19
Fixes https://github.com/lightningnetwork/lnd/issues/7495
2023-03-08 18:02:57 -08:00
yyforyongyu
95738351f5
test: increase itest timeout to be 180m 2023-02-23 21:56:11 +08:00
yyforyongyu
edba938996
multi: add new build tag integration
This commit adds a new build tag `integration` and removes the old tag
`rpctest` for clarity. Multiple unnecessary usages of `build !rpctest`
is also removed.
2023-02-23 21:56:09 +08:00
yyforyongyu
142b00711f
itest+github: remove flag temptest
This commit removes flag `temptest` and all its usage, marking the start
of promoting our `lntemp` to be `lntest`!
2023-02-23 21:56:08 +08:00
Chris Geihsler
8c4d3345e9
make: add kvdb_sqlite to build flags 2023-01-25 14:16:56 +02:00
Elle Mouton
2fd4f3f180
go.mod+lnrpc+github: point to latest kvdb changes
Use kvdb package v1.4.1. This update also forced the protobuf version to
be bumped which required `make rpc` to be run to update the generated
files. This also required a bump in the github pinned dependencies
config for the grpc and protobuf libs.
2023-01-25 14:03:00 +02:00
yyforyongyu
2fe7413f0e
itest: increase test timeout to 120m
We now update our test timeout from 60m to 120m because most of the
tests would now take more than one hour to finish.
2022-11-17 21:06:12 +08:00
Conner
25a7bb8b86
make+scripts+docs: update fuzzing script and make fuzz 2022-11-11 10:30:05 -06:00
yyforyongyu
55f8a621ae
lntest+github: add flag temptest to run tests separately
This commit adds a new flag `temptest` so we can run new and old tests
separately. This flag will be removed once the migration from old tests
to new tests is finished.
2022-10-14 07:25:28 +08:00
Oliver Gugger
f02528f304
multi: bump Golang version to v1.19.2 2022-10-11 09:49:30 +02:00
Olaoluwa Osuntokun
65a5eeb24e
build: make Go 1.18 the min version, update to Go 1.19
As usual, we keep with the last two Go versions, which means the last
year of Go release (they release every 6 months or so).

This change means we can now use the type params (generics) in the
project!
2022-08-23 10:54:13 -05:00
Olaoluwa Osuntokun
c0672b80c2
build: update all Dockerfiles to build w/ Go 1.18.2 2022-06-10 11:32:39 -07:00