Commit Graph
136 Commits
Author SHA1 Message Date
ziggie 2b4dc4eace scripts/bw-compat: use docker logs for log collection
Switch collect_logs from docker cp to docker logs to reliably capture
container output. The previous approach used docker cp to copy lnd log
files from inside named volumes, which silently fails in CI — the
directory gets created and the success echo prints, but no files are
ever copied, causing upload-artifact to report "No files were found".

docker logs reads directly from Docker's captured stdout/stderr buffer,
bypassing the volume entirely, and works as long as the container exists.
2026-03-05 15:51:59 +01:00
ziggie f6f6064938 scripts: fix backwards compatibility test timing issues
The backwards compatibility test was failing intermittently due to two
related timing issues in the test setup.

The issue was that Dave's `wait_graph_sync dave 3` was hanging
for up to 60 minutes. Dave's initial gossip sync with Charlie could
complete before Charlie had forwarded the alice-bob channel
announcement, leaving Dave stuck at 2 channels until lnd's historical
syncer fired at its default interval of 1 hour. After this 1-hour idle,
some routing state had become stale, causing the subsequent payment from
alice to dave to fail with FAILURE_REASON_NO_ROUTE.

This issues is now addressed by setting `--historicalsyncinterval=10s` on
all nodes. This causes nodes to periodically re-sync the full gossip
state from their peers every 10 seconds instead of every hour. Dave
therefore picks up any missed channel announcements and routing policies
within seconds, and alice's routing graph stays up-to-date throughout
the test.

Additionally, lnd debug logs from all containers are now collected
before teardown on failure and uploaded as a CI artifact, making future
failures easier to diagnose.
2026-03-04 13:04:26 +01:00
George Tsagkarelis 05d1df6de1 scripts: add gpg key for georgetsagk 2026-02-23 14:40:07 +01:00
Olaoluwa Osuntokun ba4778321d Merge pull request #10576 from bhandras/bh/ephemeral-gocache-check-each-commit
scripts: use ephemeral gocache in check-each-commit
2026-02-17 17:28:06 -08:00
ziggie 99eceba7a5 scripts: switch verify-install.sh from curl to wget
Replace curl with wget for downloading release manifests and
signatures in verify-install.sh. wget handles redirects, retries, and
error reporting more robustly by default, which avoids silent download
failures that caused misleading "Invalid signature!" errors.

Also add error checking to all download calls so failures are reported
immediately with the URL that failed, and log which signature file and
user failed gpg verification.
2026-02-13 10:35:11 +01:00
ziggie b7c4755934 scripts: log failing signature details in verify-install
When gpg --verify fails, include the signature filename, username,
and full GPG output in the error message. Previously only a generic
"Invalid signature!" was printed, making it hard to identify which
signer's signature was invalid.
2026-02-13 10:35:11 +01:00
Andras Banki-Horvath 75de3e3b68 scripts: use ephemeral gocache in check-each-commit 2026-02-13 09:42:24 +01:00
Elle Mouton 7baead7183 multi: add issue dedupe command and workflow
- add /dedupe command definition for Claude Code
- add workflow to run dedupe on issue opened
- add comment helper script for posting duplicates
2026-02-11 13:06:42 +02:00
Elle Mouton df0bd94b91 scripts: update bw-compat test LND base version
Update the backwards compat test to use lnd v0.20.0-beta as the base
version.
2026-02-03 17:06:24 +02:00
ziggie 4f051d97ea lncfg+scripts: use configurable global lock for postgres backends
Replace hardcoded WithGlobalLock assignment with configurable
options wallet postgres backends. Also add the WithGlobalLock
option to the channeldb table for postgres backends.

Defaults:
- channeldb: false (allow concurrent access)
- wallet: true (maintain safe single-writer behavior)

Users can now override these defaults via:
- db.postgres.channeldb-with-global-lock
- db.postgres.walletdb-with-global-lock

This gives operators flexibility while maintaining safe defaults
until full native SQL migration is complete.

Moreover exclude db.postgres.walletdb-with-global-lock check
in the sample config file script. We cannot easily check the
correct default because we set it later in the LND startup
sequence so we exclude it.
2025-11-28 09:22:19 +01:00
Yong 096ab65b1d Merge pull request #10350 from saubyk/update-pgp-key-suheb
Updated expired PGP key for Suheb
2025-11-06 20:56:04 +08:00
saubyk 49e75a6e8b keys:updated the expired key for Suheb 2025-11-05 18:35:31 -08:00
Norbert b669494a23 keys: increase expiry of signing key
The key did not change just the meta data.
2025-11-06 01:29:34 +01:00
Olaoluwa Osuntokun 9a7b526c0c Merge pull request #10268 from starius/release-gnu-gzip
release.sh: make sure GNU gzip is used
2025-10-27 10:34:30 -07:00
Olaoluwa Osuntokun 81ff01c9cc scripts/keys: update roasbeef keys with new expiry
My key recently expired, in this commit, we update the keys to the new
refreshed version. These are the same keys, but with an expiry further
out.

Here's a clear sign of the latest Bitcoin block hash:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

000000000000000000013215ef7c32bc0427f388fc83623affe712f388
-----BEGIN PGP SIGNATURE-----

iHUEARYKAB0WIQQpYhJoGq3wVlaize6QUl997uCthgUCaPi6xwAKCRCQUl997uCt
hpqNAQC5VnnbO6h/PjywGhU4LLRvH8SdgdDEMSc7xrtWd1vgPgD+IDrHqiAb+h38
ORBnUVJCVuZrPebtdnYXVQhII91eaw4=
=WRbl
-----END PGP SIGNATURE-----
2025-10-22 12:07:38 +01:00
Olaoluwa Osuntokun dfee57023c build: clear Go cache between platform builds in release script
In this commit, we add a call to "go clean -cache" after each platform
build in the release script to prevent the Go build cache from accumulating
unbounded disk space during the sequential 15-platform build process.

When building for multiple platforms in sequence with "go build -v", Go
creates intermediate build artifacts and caches compiled packages for each
target platform. While this caching improves build performance within a
single platform build, it causes the cache to grow substantially when
building for many platforms sequentially. With 15 different platform/
architecture combinations, each with their own cached artifacts, this
accumulation was contributing to the disk space exhaustion.

By clearing the build cache after each platform completes, we prevent this
unbounded growth while still allowing each individual platform build to
benefit from caching during its own compilation. The module cache is
preserved (we only clear the build cache), so dependencies don't need to be
re-downloaded between platforms.
2025-10-20 22:39:47 +01:00
Boris Nagaev b88b25e781 release.sh: make sure GNU gzip is used
On MacOS, the default BSD gzip produces a different output than the GNU gzip
on Linux. To ensure reproducible builds, we need to use GNU gzip.

This is similar to what we do to enforce GNU tar.
2025-10-03 22:28:03 -03:00
Viktor Torstensson 80c2484e9e scripts: add gpg key for ViktorT-11 2025-09-26 12:16:22 +02:00
Oliver Gugger 365f1788e5 Merge pull request #10157 from ziggie1984/remove-pgp-key
remove expired key
2025-08-15 01:10:05 -06:00
Gustavo Stingelin Cardoso Filho 29bfeb2084 scripts: add pgp keys expire check 2025-08-14 15:35:55 -03:00
ziggie dccb669ad1 scripts: remove expired key 2025-08-14 09:37:53 +02:00
Slyghtning 1ce64eb45f scripts: update hieblmi pgp key 2025-08-11 11:47:40 +02:00
sputn1ck 960a3517ad scripts: update sputn1ck pgp key
This comit updates the pgp key for sputn1ck with
a new expiration date.

[skip ci]
2025-08-07 12:30:42 +02:00
Oliver Gugger 02d48d1d81 Merge pull request #10132 from ffranr/update-ffranr-signing-key
scripts: update ffranr release signing key
2025-08-06 07:14:48 -06:00
ffranr 0676c5669e scripts: update ffranr release signing key
Updated the release signing key. New key fingerprint:

C97A AA14 70F9 7987 8F7A  6DED C344 0ACF 100A 33B4

The old key is no longer in use.
2025-08-06 10:34:31 +01:00
ziggie 3afac74413 scripts: remove expired pgp key 2025-08-06 11:24:54 +02:00
András Bánki-Horváth 9ffbb977e8 Merge pull request #10034 from bhandras/fuzzy-matching-script
scripts: add cherry-pick verification tool with fuzzy matching
2025-07-31 14:40:14 +02:00
Andras Banki-Horvath cabb3a0a24 scripts: add cherry-pick verification tool with fuzzy matching
This script compares a release branch against a source branch
(e.g. master) to verify that all cherry-picked commits are
unmodified. It first attempts fast matching using normalized
patch hashes.

If no exact match is found, it falls back to a fuzzy matching
mechanism:

- Filters source commits by matching author and commit subject
- Compares normalized diffs using diff -u
- Selects the closest match based on line difference count

Useful for verifying cherry-picks or rebased commits during
release processes. Supports scan and compare limits for
performance.
2025-07-29 08:51:51 +02:00
Elle 90e2116842 Merge pull request #10081 from ellemouton/graphSQLSlices
graph/db: use `/*SLICE:<field_name>*/` to optimise various graph queries
2025-07-22 18:27:10 +02:00
Elle Mouton 5afd9a5678 scripts: add sql slices workaround to sqlc gen script
This copies the workaround introduced in the taproot-assets code base
and will allow us to use `WHERE x in <list>` type queries.
2025-07-22 17:14:55 +02:00
Oliver Gugger 270fad23f1 scripts/keys: remove old expired or revoked keys
Fixes #10093.
This commit removes some old signing keys that haven't been used to sign
in a while and have either expired or been revoked.

=== scripts/keys/arshbot.asc ===
KeyID: 90E00CCB1C74C611 Created: 2018-08-08 Expires: 2022-08-08 Revoked: NO

=== scripts/keys/Crypt-iQ.asc ===
KeyID: 118759E83439A9B1 Created: 2019-05-31 Expires: 2022-10-13 Revoked: NO

https://github.com/lightningdevkit/rust-lightning/pull/2029
2025-07-21 09:43:19 +02:00
ziggie 5baaa3e7c5 sqlc: update sqlc compiler to 1.29.0 2025-05-25 18:23:35 +02:00
Elle Mouton c70e1194a0 scripts/bw-compat: use status server to determine if node is ready
This commit adjusts the backwards compatability test in 2 ways:

1) we first set up the bitcoin backend before waiting for our network
   nodes to start. This is so that the nodes can sync to chain and
become fully active during the `wait_for_nodes` call.
2) Then, in the `wait_for_node` helper, we use the status server
   response to determine if a node is ready instead of just waiting for
`GetInfo` to return a response. This is because waiting for
SERVER_ACTIVE is a more accurate signal that the node is ready to
receive RPC calls.
2025-04-15 11:49:07 +02:00
Andras Banki-Horvath a427a872a0 scripts+bw-compatibility-test: run and update Dave with sqlite 2025-03-31 16:02:55 +02: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
Elle Mouton f0d4ea10a2 scripts/bw-compatibility-test: add backwards compat test
In this commit, a new backwards compatibility test is added. See the
added README.md file in this commit for all the info.
2025-02-27 11:33:15 +02:00
yyforyongyu fa8527af09 Makefile+scripts: add unit test flake hunter
This commit adds a script to hunt flakes for a specific unit test with
trace logs. Also rename the make commands to make them more clear on
whether it's a unit test, itest, or paralleled itest.
2025-02-25 21:10:40 +08:00
Oliver Gugger 6cabc74c20 Merge pull request #8831 from bhandras/sql-invoice-migration
invoices: migrate KV invoices to native SQL for users of KV SQL backends
2025-01-23 05:48:25 -06:00
Andras Banki-Horvath 84598b6dc1 sqldb: ensure schema definitions are fully SQLite compatible
Previously, we applied replacements to our schema definitions
to make them compatible with both SQLite and Postgres backends,
as the files were not fully compatible with either.

With this change, the only replacement required for SQLite has
been moved to the generator script. This adjustment ensures
compatibility by enabling auto-incrementing primary keys that
are treated as 64-bit integers by sqlc.
2025-01-23 09:11:02 +01:00
Elle Mouton b986f57206 scripts/keys: update pub key for ellemouton 2024-12-21 08:11:38 +02: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 4ee36e3762 scripts: update Roasbeef's key ID in verify-install.sh
This was overlooked in #9206.
We're updating to the parent key ID
A5B61896952D9FDA83BC054CDC42612E89237182.

cat scripts/keys/roasbeef.asc| gpg --with-colons --import-options show-only --import                                                                   ─╯
pub:-:255:22:DC42612E89237182:1729552568:::-:::scESCA:::::ed25519:::0:
fpr:::::::::A5B61896952D9FDA83BC054CDC42612E89237182:
uid:-::::1729552794::8D805FB762825ECBDA00EB0AF5FEDF76DE288546::Olaoluwa Osuntokun <laolu32@gmail.com>::::::::::0:
sub:-:255:18:19E88A946BEF6D65:1729552568:1761088568:::::e:::::cv25519::
fpr:::::::::70206BBE2C0A81EC381A212C19E88A946BEF6D65:
sub:-:255:22:966072F65DF1D016:1729552672:1761088672:::::a:::::ed25519::
fpr:::::::::98E3632DC026406855001E22966072F65DF1D016:
sub:-:255:22:90525F7DEEE0AD86:1729552758:1761088758:::::s:::::ed25519::
fpr:::::::::296212681AADF05656A2CDEE90525F7DEEE0AD86:
2024-12-12 09:50:25 +01:00
ziggie 643e415448 scripts: dont check new config value.
Because we need to remain backwards compatible with the old
`dust-threshold` value we set the default value for
`channel-max-fee-exposure` later in the program flow. Given
the restrictions of the sample config check we need to exclude
this value from the check.
2024-11-06 18:52:07 +01:00
ffranr 7919b3f204 makefile+scripts: add Go version check to release command
This commit updates `scripts/release.sh` to include a check for the
correct Go version before executing the release build. This ensures that
the release binaries are built with the specified Go version,
maintaining consistency and integrity for developer signatures.
2024-10-23 13:34:35 +02:00
Olaoluwa Osuntokun cb0f0dd8a4 scripts/key: add new gpg key for roasbeef
In this commit, we add a new signing for key for roasbeef. The signing
key has been attested to here by myself in several locations on the
Internet:
  * https://gist.github.com/Roasbeef/58c5eb9d5243df73ea3b081f3848b5ce
  * https://x.com/roasbeef
  * https://keybase.io/roasbeef
2024-10-21 16:42:09 -07:00
Oliver Gugger 6ac1ffd274 github+scripts: bump itests to bitcoind v28, allow testing with RCs 2024-10-14 16:10:18 +02:00
ziggie f5f52a65c9 scripts: rename PGP key file.
The name in the verify-install.sh and the PGP key file need to be
the same.
2024-09-16 10:49:18 +02:00
ziggie 82d99f3ebf scripts: add gpg key for ziggie [skip ci] 2024-09-10 19:40:13 +02:00
Alex Akselrod 8d5f8d822d itest: ensure LND gets correct CLI options when itest are parallel 2024-08-24 13:28:14 -07:00
yyforyongyu 35287ee899 scripts: silence test outputs 2024-08-23 15:48:09 +08:00