Commit Graph

1850 Commits

Author SHA1 Message Date
Erik Arvstedt
565deb770a
examples/minimal-vm: add lightning-cli demo command 2022-11-04 00:33:31 +01:00
Jonas Nick
a576fa3afe
Merge fort-nix/nix-bitcoin#559: Define tests via flake
edbaeb9813 tests: define tests via flake (Erik Arvstedt)
90e942e5ae nodeinfo: rename `nodeinfoLib` -> `lib` (Erik Arvstedt)
8eaa4cce30 tests: move `mkIfTest` to `nix-bitcoin.lib` (Erik Arvstedt)
47a09ec214 flake: expose `supportedSystems` (Erik Arvstedt)
b0dfa69e84 nixos-search/flake: formatting (Erik Arvstedt)
d428755399 flake: rename input `nixpkgsUnstable` -> `nixpkgs-unstable` (Erik Arvstedt)
a12b701e75 tests/container: don't require `services.clightning` to be defined (Erik Arvstedt)
450de19803 tests/run-tests.sh: print examples before running (Erik Arvstedt)
5f1bb2a8fc tests/copy-src: always copy .git dir (Erik Arvstedt)
a87a59a86b make-container.sh: improve root handling (Erik Arvstedt)
b616d7ac1b profiles/hardened: support pure eval mode (Erik Arvstedt)
73d2fbb448 add compatibility with Nix PR #6530 (`Source tree abstraction`) (Erik Arvstedt)
3c816b862c tests/vmWithoutTests: poweroff on shell exit (Erik Arvstedt)
1d3f49f8da tests, example: avoid lengthy documentation build (Erik Arvstedt)
b840548d40 test/shellcheck-services: add configurable source prefix (Erik Arvstedt)

Pull request description:

ACKs for top commit:
  jonasnick:
    ACK edbaeb9813

Tree-SHA512: 824c028917816725fb12cd6808947994b13646514ae4dca092e11e6237314ac13157adbba7e79110820d54657eca4f5f4c80946216fa3cb4c7801aec2d0b517d
2022-11-03 22:15:05 +00:00
Erik Arvstedt
edbaeb9813
tests: define tests via flake
Advantages:
- Pure test evaluations
- The test framework can now be used by flakes that extend nix-bitcoin
- Most features of `run-tests.sh` are now accessible via `nix build`/`nix run`.
  We keep `run-tests.sh` for advanced features like `scenarioOverridesFile` and adhoc scenarios.

Other changes:
- `run-tests.sh` now builds aggregate VM tests like `basic` or
  `buildable` by creating all VMs in a single evaluation.
  This speeds up the tests and eases debugging by separating the eval and build steps.
- Use the new `nix` CLI which has improved build output logging
  by prefixing output lines with the origin drv name.
2022-11-03 23:08:06 +01:00
Erik Arvstedt
90e942e5ae
nodeinfo: rename nodeinfoLib -> lib 2022-11-03 23:08:06 +01:00
Erik Arvstedt
8eaa4cce30
tests: move mkIfTest to nix-bitcoin.lib 2022-11-03 23:08:06 +01:00
Erik Arvstedt
47a09ec214
flake: expose supportedSystems 2022-11-03 23:08:05 +01:00
Erik Arvstedt
b0dfa69e84
nixos-search/flake: formatting 2022-11-03 23:08:05 +01:00
Erik Arvstedt
d428755399
flake: rename input nixpkgsUnstable -> nixpkgs-unstable
This follows common flake naming conventions.
2022-11-03 23:08:05 +01:00
Erik Arvstedt
a12b701e75
tests/container: don't require services.clightning to be defined 2022-11-03 23:08:05 +01:00
Erik Arvstedt
450de19803
tests/run-tests.sh: print examples before running
This eases debugging example failures.
2022-11-03 23:08:05 +01:00
Erik Arvstedt
5f1bb2a8fc
tests/copy-src: always copy .git dir
This is required by a later commit that introduces flakes-based test
evaluation. Evaluating local flakes needs a repo dir.
2022-11-03 23:08:05 +01:00
Erik Arvstedt
a87a59a86b
make-container.sh: improve root handling
Don't auto-switch to root when executing make-container.sh, because
auto root switching is also implemented in extra-container.

Besides simplifying the code, this is useful for a later commit that
introduces flakes-based container building.
With this change, the container is built under the regular user
instead of root, thereby utilizing the user's regular fetcher and
evaluation caches.
2022-11-03 23:08:05 +01:00
Erik Arvstedt
b616d7ac1b
profiles/hardened: support pure eval mode 2022-11-03 23:08:05 +01:00
Erik Arvstedt
73d2fbb448
add compatibility with Nix PR #6530 (Source tree abstraction)
Avoid adding flake resource paths to the store (via string
interpolation).
This reduces performance and can lead to modules getting imported
twice, once through a local path and once through a store path.

This might not be needed in a future Nix release, in which case we can
revert this.
2022-11-03 23:08:05 +01:00
Erik Arvstedt
3c816b862c
tests/vmWithoutTests: poweroff on shell exit
This allows quitting the VM with Ctrl-D like in the minimal example VM.
2022-11-03 23:08:04 +01:00
Erik Arvstedt
1d3f49f8da
tests, example: avoid lengthy documentation build
This options manual rebuild takes 30-60s and is triggered by the extra
NixOS options defined by nix-bitcoin.
2022-11-03 23:08:04 +01:00
Erik Arvstedt
b840548d40
test/shellcheck-services: add configurable source prefix
This allows using this module for services defined outside of nix-bitcoin.
2022-11-03 23:08:04 +01:00
Jonas Nick
dcca4fb262
Merge fort-nix/nix-bitcoin#567: bitcoind: fix rare startup error
b412de3ad7 bitcoind: fix rare startup error (Erik Arvstedt)

Pull request description:

ACKs for top commit:
  jonasnick:
    ACK b412de3ad7

Tree-SHA512: 217f9c220b2906b4c5df2d9fbd2116c693eef25af18672ddf9065428a0946af45d704ece05963f4c8c41678397627580610b949bb0a086d8f9c559c08b3d308c
2022-11-03 22:02:59 +00:00
Erik Arvstedt
b412de3ad7
bitcoind: fix rare startup error
Previously, dhcpcd and bitcoind starting up in parallel could lead to
the following error in bitcoind:
```
bitcoind: libevent: getaddrinfo: address family for nodename not supported
bitcoind: Binding RPC on address 127.0.0.1 port 8332 failed.
bitcoind: Unable to bind any endpoint for
```
After the initial failure, the bitcoind service would always restart successfully.

This race condition, where both applications were simultaneously
manipulating network resources, was only triggered under specific
hardware conditions.

Fix it by running bitcoind after dhcp has started (by running after
`network-online.target`).
This bug and the fix only affect the default NixOS scripted
networking backend.
2022-11-02 12:02:03 +01:00
Jonas Nick
a174dc8093
Merge fort-nix/nix-bitcoin#565: pkgs: add lnd 0.15.4 (hotfix)
57b76d4461 pkgs: add lnd 0.15.4 (hotfix) (Erik Arvstedt)

Pull request description:

ACKs for top commit:
  jonasnick:
    ACK 57b76d4461

Tree-SHA512: ab3ee937ffea5bae3b16bad8488c49a440d7c52ba77b9588badabd011798190c2592caf8039ec72615e803bc7a9ac337b055739888a69ae9203fc5bde3548bae
2022-11-01 13:30:34 +00:00
Erik Arvstedt
57b76d4461
pkgs: add lnd 0.15.4 (hotfix)
Includes an emergency hotfix:
https://github.com/lightningnetwork/lnd/releases/tag/v0.15.4-beta
2022-11-01 14:12:56 +01:00
Jonas Nick
7c16fc5865
Merge fort-nix/nix-bitcoin#563: lnd: fix missing RPC permissions when bitcoind is pruned
67949a002a lnd: fix missing RPC permissions when bitcoind is pruned (Erik Arvstedt)
49303be2e0 test/shellcheck-services: fix error by excluding unavailable services (Erik Arvstedt)
46f17fe313 test/shellcheck-services: simplify accessing service definitions (Erik Arvstedt)

Pull request description:

ACKs for top commit:
  jonasnick:
    ACK 67949a002a

Tree-SHA512: 28652d8ec67a164aef068f3df32d1ae8df4e0920cafedc6e3d568b631333b29e57f7370e54a82e7cde9710a3df0a1494ed94272af101d31dd7859a08bb363e4b
2022-10-28 08:38:28 +00:00
Jonas Nick
a7357c1176
Merge fort-nix/nix-bitcoin#551: tests: Reenable flake-info
277510c7ee tests: run flake-info in sandbox (Erik Arvstedt)
d3b7e8c432 revert "tests: disable `nixosSearch`" (Erik Arvstedt)

Pull request description:

ACKs for top commit:
  jonasnick:
    ACK 277510c7ee

Tree-SHA512: 2d242aeb65c65c4c3905cc66959092c1da923b9de9ce08ee68319b6475f4fd6f6148b5ac5ca312462b1fb38e8fc61706361f58886afc5052f65a18fb7a61de60
2022-10-26 07:25:27 +00:00
Erik Arvstedt
67949a002a
lnd: fix missing RPC permissions when bitcoind is pruned 2022-10-25 22:56:51 +02:00
Erik Arvstedt
49303be2e0
test/shellcheck-services: fix error by excluding unavailable services 2022-10-25 22:36:30 +02:00
Erik Arvstedt
46f17fe313
test/shellcheck-services: simplify accessing service definitions
This also improves performance by removing the extra module evaluation.
2022-10-25 22:36:30 +02:00
Erik Arvstedt
277510c7ee
tests: run flake-info in sandbox
Don't use sandboxing in Cirrus CI where namespace support is missing.
2022-10-25 22:04:17 +02:00
Jonas Nick
9d074e1985
Merge fort-nix/nix-bitcoin#560: Update nixpgks
c88acbb1bb btcpayserver: use new option `certfilepath` for lnd (Erik Arvstedt)
13a835e88f Revert "pkgs: add lnd 0.15.2" (Erik Arvstedt)
3549725b51 update nixpkgs (Erik Arvstedt)
61c539d5b6 defaultHardening: allow syscall `set_mempolicy` (Erik Arvstedt)

Pull request description:

ACKs for top commit:
  jonasnick:
    ACK c88acbb1bb

Tree-SHA512: 450fc27bb738d7465be829bc6ceda0030cdfc6bb75d15001986450c8189d675fe0fd0a0e6875c0224a239be0aae3acbecb74fb3b970fb6a8dfedd1d463a93d55
2022-10-25 07:57:01 +00:00
Erik Arvstedt
c88acbb1bb
btcpayserver: use new option certfilepath for lnd 2022-10-24 12:47:01 +02:00
Erik Arvstedt
13a835e88f
Revert "pkgs: add lnd 0.15.2"
This reverts commit cf836b5d3b.
2022-10-24 11:50:36 +02:00
Erik Arvstedt
3549725b51
update nixpkgs
btcpayserver: 1.6.10 -> 1.6.12
clightning: 0.12.0 -> 0.12.1
fulcrum: 1.8.1 -> 1.8.2
nbxplorer: 2.3.33 -> 2.3.41
2022-10-24 11:49:03 +02:00
Erik Arvstedt
61c539d5b6
defaultHardening: allow syscall set_mempolicy
This syscall is safe to allow.
It's required by the dotnet runtime (btcpayserver, nbxplorer) update
introduced in the following commit.
2022-10-22 23:54:08 +02:00
Jonas Nick
9fc05e384c
Merge fort-nix/nix-bitcoin#553: pkgs: add lnd 0.15.2
cf836b5d3b pkgs: add lnd 0.15.2 (Erik Arvstedt)

Pull request description:

ACKs for top commit:
  jonasnick:
    ACK cf836b5d3b

Tree-SHA512: 499cf4989f432946e0ec476cb0c22975614f05e8958c616a5897026098613dd7a20be83e144defdf19b0bf86c3cbd2f6cabb8397d40b1e3bcbda96d9b5e12860
2022-10-10 11:52:27 +00:00
Erik Arvstedt
cf836b5d3b
pkgs: add lnd 0.15.2
Includes an emergency hotfix:
https://github.com/lightningnetwork/lnd/releases/tag/v0.15.2-beta
2022-10-10 13:27:49 +02:00
Erik Arvstedt
d3b7e8c432
revert "tests: disable nixosSearch" 2022-09-23 09:04:57 +02:00
Jonas Nick
34f6eb90d7
Merge fort-nix/nix-bitcoin#550: Update nixpkgs
261f7a043f update nixpkgs (Jonas Nick)
09c765368f clightning-plugins: update packages (Jonas Nick)

Pull request description:

ACKs for top commit:
  erikarvstedt:
    ACK 261f7a043f

Tree-SHA512: 30cec6e06dc56b84daf058441a25dc7593b2754c7cbdbb48562528a81727f8a7abbaf5d31497a136903485534e41b171d55a60d9bc91548feb7ff7997985e364
2022-09-22 18:58:27 +00:00
Jonas Nick
261f7a043f
update nixpkgs
electrs: 0.9.7 -> 0.9.9
elementsd: 0.21.0.2 -> 22.0
fulcrum: 1.7.0 -> 1.8.1
2022-09-22 16:57:19 +00:00
Jonas Nick
09c765368f
clightning-plugins: update packages 2022-09-22 16:57:00 +00:00
Jonas Nick
755da16a1b
Merge fort-nix/nix-bitcoin#529: ShellCheck on scripts generated by nix
f3f8d650ab shellcheck: fix the lint warnings for other generated scripts (Otto Sabart)
acd341426a shellcheck: prevent globbing and word splitting in package shell scripts (Otto Sabart)
c3b97e6728 tests: add `shellcheckServices` (Erik Arvstedt)
01fa900633 shellcheck: fix setup-secrets.sh, spark-wallet (Erik Arvstedt)
ee15837244 shellcheck: prevent globbing and word splitting in unit shell scripts (Otto Sabart)

Pull request description:

ACKs for top commit:
  erikarvstedt:
    ACK f3f8d650ab
  jonasnick:
    Concept ACK f3f8d650ab

Tree-SHA512: b7a8ae1e8db57e6bb1285832cdd52414913339344e6c6c72621e48404887ae214ed839364d3f2d272cc4b339812ee032e73040b60e6a9f1b9d189ecbae745772
2022-09-13 15:03:58 +00:00
Otto Sabart
f3f8d650ab
shellcheck: fix the lint warnings for other generated scripts 2022-09-12 21:00:00 +02:00
Otto Sabart
acd341426a
shellcheck: prevent globbing and word splitting in package shell scripts 2022-09-12 21:00:00 +02:00
Erik Arvstedt
c3b97e6728
tests: add shellcheckServices 2022-09-12 21:00:00 +02:00
Erik Arvstedt
01fa900633
shellcheck: fix setup-secrets.sh, spark-wallet 2022-09-12 21:00:00 +02:00
Otto Sabart
ee15837244
shellcheck: prevent globbing and word splitting in unit shell scripts 2022-09-12 21:00:00 +02:00
Jonas Nick
4e63301ac3
Merge fort-nix/nix-bitcoin#546: Update nixpkgs
63f8b74026 pyln-client: add patch that fixes plugins (Jonas Nick)
5255c7e8bc pyln-client: remove pkg patch that has become unnecessary (Jonas Nick)
c165836fd1 bitcoind: add "getdeploymentinfo" to public rpc whitelist (Jonas Nick)
623c238b16 clightning-plugins: remove commando pkg and module (Jonas Nick)
33144262ec clightning-plugins: bump ver of pyln-client required by prometheus (Jonas Nick)
9c766df16a Revert "clightning: fix build" (Jonas Nick)
b57e7466fb update nixpkgs (Jonas Nick)

Pull request description:

ACKs for top commit:
  erikarvstedt:
    ACK 63f8b74026

Tree-SHA512: 699ce5179ee202218933424ac3fe746a405700daccad78109d8118013cba6d64d40b07a87430281cbde96438250a05b03be0e44ebb69d85e2d41ec3ae57d6c7e
2022-09-07 09:42:43 +00:00
Jonas Nick
ff04de6972
Merge fort-nix/nix-bitcoin#545: test/lib/create-git-repo: fix variable quoting
49e30f7172 test/lib/create-git-repo: fix empty var expansion (Erik Arvstedt)

Pull request description:

ACKs for top commit:
  jonasnick:
    ACK 49e30f7172

Tree-SHA512: 321f01bd8674e7cc91718e9799e3175cb640feb42ebac90588a60cdbe160b705aac4effa4cc229adc41c062c3cdf7ad90317a4dde90665d71141016faf2ce43a
2022-09-07 09:41:19 +00:00
Jonas Nick
63f8b74026
pyln-client: add patch that fixes plugins
Without this patch, the summary and feeadjuster plugins crash on startup.
2022-09-07 09:33:00 +00:00
Erik Arvstedt
49e30f7172
test/lib/create-git-repo: fix empty var expansion
When `amend` is empty, expand it to nothing instead of an empty
string (which causes a git error).
2022-09-07 11:02:15 +02:00
Jonas Nick
5255c7e8bc
pyln-client: remove pkg patch that has become unnecessary 2022-09-07 08:44:52 +00:00
Jonas Nick
c165836fd1
bitcoind: add "getdeploymentinfo" to public rpc whitelist
This is required by lnd 0.15.1.
2022-09-07 08:44:52 +00:00