Erik Arvstedt
e68cb010ba
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.
2023-06-01 02:56:22 -07:00
Erik Arvstedt
32db35d1bf
tests: move mkIfTest
to nix-bitcoin.lib
2023-06-01 02:56:22 -07:00
Erik Arvstedt
d70fc7d71b
nixos-search/flake: formatting
2023-06-01 02:56:22 -07:00
Erik Arvstedt
ab23466fb7
tests/container: don't require services.clightning
to be defined
2023-06-01 02:56:22 -07:00
Erik Arvstedt
365068d763
tests/run-tests.sh: print examples before running
...
This eases debugging example failures.
2023-06-01 02:56:22 -07:00
Erik Arvstedt
e2d653e7cb
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.
2023-06-01 02:56:22 -07:00
Erik Arvstedt
f405a2ceda
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.
2023-06-01 02:56:22 -07:00
Erik Arvstedt
ada564c1ea
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.
2023-06-01 02:56:22 -07:00
Erik Arvstedt
514c05ee47
tests/vmWithoutTests: poweroff on shell exit
...
This allows quitting the VM with Ctrl-D like in the minimal example VM.
2023-06-01 02:56:22 -07:00
Erik Arvstedt
c12489d838
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.
2023-06-01 02:56:22 -07:00
Erik Arvstedt
d5e50191d6
test/shellcheck-services: add configurable source prefix
...
This allows using this module for services defined outside of nix-bitcoin.
2023-06-01 02:56:22 -07:00
Erik Arvstedt
b3c134c01d
lnd: fix missing RPC permissions when bitcoind is pruned
2023-06-01 02:56:22 -07:00
Erik Arvstedt
29d1a6b8a8
test/shellcheck-services: fix error by excluding unavailable services
2023-06-01 02:56:22 -07:00
Erik Arvstedt
425a411e2b
test/shellcheck-services: simplify accessing service definitions
...
This also improves performance by removing the extra module evaluation.
2023-06-01 02:56:22 -07:00
Erik Arvstedt
5e6b560fcf
tests: run flake-info in sandbox
...
Don't use sandboxing in Cirrus CI where namespace support is missing.
2023-06-01 02:56:22 -07:00
Erik Arvstedt
bdb4ee0e0b
revert "tests: disable nixosSearch
"
2023-06-01 02:56:22 -07:00
Jonas Nick
5a063aff00
update nixpkgs
...
electrs: 0.9.7 -> 0.9.9
elementsd: 0.21.0.2 -> 22.0
fulcrum: 1.7.0 -> 1.8.1
2023-06-01 02:56:22 -07:00
Erik Arvstedt
c3b97e6728
tests: add shellcheckServices
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
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
623c238b16
clightning-plugins: remove commando pkg and module
...
clightning 0.12.0 ships with a reimplementation of the commando plugin that is
incompatible with the commando module that existed in nix-bitcoin.
2022-09-07 08:44:52 +00:00
Jonas Nick
b57e7466fb
update nixpkgs
...
btcpayserver: 1.6.9 -> 1.6.10
lnd: 0.15.0-beta -> 0.15.1-beta
2022-09-07 08:44:47 +00:00
Erik Arvstedt
c63da4734e
tests: disable nixosSearch
2022-09-05 21:11:15 +02:00
Erik Arvstedt
67a573dae8
create-git-repo.sh: fix amend error if there's no branch checked out
...
In this case, `git commit --amend` fails.
The state of a .git repo existing without a branch being checked out
can be reached through the following sequence of events (which I just
seem to have triggered):
1. The script calls `git init`
2. The user interrupts the script before `git commit` is finished
2022-08-29 00:12:19 +02:00
Erik Arvstedt
d9eecb7d4c
nixos-search/flake: remove unused output
2022-08-29 00:12:19 +02:00
Erik Arvstedt
af115d746b
internal scripts: use pinned, cached pkgs
...
Instead of setting up the script PATH via nix-shell, use
`nix shell` with inputs from the nix-bitcoin flake.
Advantages:
- Uses the nixpkgs version from the nix-bitcoin flake instead of
`<nixpkgs>` from the user env (NIX_PATH), so the script runtime
env is reproducible.
- The pkg derivations for the runtime env are cached, which greatly
increases script startup speed.
This commit was generated by running the following script inside the
repo root dir:
def transform(path, src)
if src =~ /#! *nix-shell +-i +bash +-p +(.*)/
pkgs = $1
if src =~ /^.*?(set -e.*?pipefail)\n/
set_statement = $1
src.sub!($&, '')
end
src.sub!(/\A.*?#! *nix-shell.*?\n/m, '')
parents = ([ '..' ] * (path.split('/').count - 1)).join('/')
[
'#!/usr/bin/env bash',
*set_statement,
%(. "${BASH_SOURCE[0]%/*}/#{parents}/helper/run-in-nix-env" "#{pkgs}" "$@"),
nil,
src
].join("\n")
end
end
Dir['**/*.sh'].each do |f|
src = File.read(f)
if new_src = transform(f, src)
puts "Changed file #{f}"
File.write(f, new_src)
end
end
2022-08-28 23:49:12 +02:00
Otto Sabart
f184bb34e6
shellcheck: fix lint of scripts in tests
2022-08-28 18:25:37 +02:00
Otto Sabart
9a92d29111
tests: add shellcheck
2022-08-28 18:25:37 +02:00
Erik Arvstedt
b625325487
ci/modules_test: use flake-enabled nix
2022-08-28 18:25:37 +02:00
Erik Arvstedt
f2cb5bfc10
update nixpkgs
...
nbxplorer: 2.3.28 -> 2.3.33
btcpayserver: 1.6.1 -> 1.6.9
charge-lnd: 0.2.4 -> 0.2.12
lightning-loop: 0.19.1-beta -> 0.20.0-beta
2022-08-21 10:23:33 +02:00
Erik Arvstedt
5eb01498d5
tests: add comment
2022-08-05 13:48:53 +00:00
Erik Arvstedt
952cd3773f
run-tests: support tests with multiple VMs in run
2022-08-05 13:48:36 +00:00
nixbitcoin
17507835fc
clightning: native database replication
...
Don't put `clightning.replication` options in
`examples/configuration.nix` until it is more "battle-tested."
2022-08-05 13:48:24 +00:00
Erik Arvstedt
9c5dbeaa83
test/nixos-search: fix wrong flake being tested
...
Now the test targets the main nix-bitcoin flake instead of the
nixos-search flake.
Also remove `NIX_PATH`, which is no longer required.
2022-07-22 17:41:31 +02:00
Jonas Nick
7ec248dba1
Merge fort-nix/nix-bitcoin#521 : update nixpkgs
...
1276c40aaa
update nixpkgs (Jonas Nick)
Pull request description:
ACKs for top commit:
erikarvstedt:
ACK 1276c40aaa
Tree-SHA512: 6ea60b1a0e9259cd77742722b5e803a25f5889b09fc989c64c750692f68c83f78784ffa4b72618e2506330a650bad40a6d7b5eb9e390a6d69b0e7fa4198cf79a
2022-07-22 14:59:11 +00:00
Jonas Nick
1276c40aaa
update nixpkgs
...
btcpayserver: 1.5.4 -> 1.6.1
nbxplorer: 2.3.26 -> 2.3.28
2022-07-22 13:15:25 +00:00
Jonas Nick
34c4b61402
Merge fort-nix/nix-bitcoin#504 : Add fulcrum module
...
7d7f2df006
fulcrum: add module (Erik Arvstedt)
edd8bd311c
bitcoind-rpc-public-whitelist: add `ping`, `help` (Erik Arvstedt)
f946a7cd9b
examples: use `mkDefault` for setting `system.stateVersion` (Erik Arvstedt)
79994d0bd2
tests: increase postgresql startup timeout (Erik Arvstedt)
Pull request description:
ACKs for top commit:
nixbitcoin:
ACK 7d7f2df006
Tree-SHA512: 866f0a40bb81ceb2008e6efbd415eeee201b9e56aa5ebc60fd1bb4b6eda300155faaa2e6492d8145b3c6084b1e8ef5ec7d4e0ff694beb328d2e5ed755c9d04b4
2022-07-22 13:11:40 +00:00
Erik Arvstedt
8dc4858872
bitcoind: remove banlist loader
...
Gmaxwell's banlist (https://people.xiph.org/~greg/banlist.cli.txt ) is
no longer maintained and hasn't been updated since 2 years.
2022-07-15 14:45:37 +02:00
Erik Arvstedt
7d7f2df006
fulcrum: add module
2022-07-09 11:07:09 +02:00
Erik Arvstedt
f946a7cd9b
examples: use mkDefault
for setting system.stateVersion
...
This makes it easier for users to override the default.
2022-07-08 15:10:03 +02:00
Erik Arvstedt
c853f380d4
lightning-loop: add certificate options extraIPs
and extraDomains
...
This is useful for non-local access to the lightning-loop REST server.
2022-07-07 16:09:26 +02:00
Erik Arvstedt
edfbe700e7
lnd: add certificate options extraIPs
and extraDomains
...
This is useful for non-local access to the lnd REST server.
2022-07-07 16:09:26 +02:00
Erik Arvstedt
79994d0bd2
tests: increase postgresql startup timeout
...
Required for Cirrus CI.
2022-07-07 11:43:21 +02:00
Erik Arvstedt
2ae2eea54e
run-tests: fix command debug
on NixOS 22.05
2022-07-05 10:13:55 +02:00
Erik Arvstedt
a8255d61d7
lib/make-container: update required extra-container version
2022-07-05 10:13:54 +02:00
Erik Arvstedt
f02f27cbca
lib/make-test: fix system.stateVersion
warning
2022-07-05 10:13:54 +02:00
Erik Arvstedt
4579b44781
update nixpkgs
...
clightning: 0.11.1 -> 0.11.2
lnd: 0.14.3-beta -> 0.15.0-beta
2022-07-03 02:09:33 +02:00
Jonas Nick
c7eab98a31
tests: fix deprecation warning
2022-06-27 21:15:38 +00:00
Jonas Nick
805eb26d12
update nixpkgs (stable: 21.11 -> 22.05)
...
extra-container: 0.8 -> 0.10
btcpayserver: 1.5.3 -> 1.5.4
lightning-loop: 0.18.0-beta -> 0.19.1-beta
2022-06-27 21:15:34 +00:00