270 Commits

Author SHA1 Message Date
Erik Arvstedt
de49082f2a update nixpkgs
btcpayserver: 1.7.2 -> 1.7.3
electrs: 0.9.10 -> 0.9.11
hwi: 2.1.1 -> 2.2.0
2023-06-01 02:56:22 -07:00
Erik Arvstedt
22e41d5c06 add dev helper and docs 2023-06-01 02:56:22 -07:00
Erik Arvstedt
740dd666ad docs: move test docs from examples/README to test/README 2023-06-01 02:56:22 -07:00
Erik Arvstedt
e7407d9efe tests: add example scenario customTest 2023-06-01 02:56:22 -07:00
Erik Arvstedt
cfeddd44aa tests: formatting
Move line next to `services.lnd` config for clarity.
2023-06-01 02:56:22 -07:00
Erik Arvstedt
49229a3e2d tests: fix broken unit file when clightning is disabled
Previously, an incomplete clightning unit was always created because
attr `clightning` was always defined in option attrset `systemd.services`.
2023-06-01 02:56:22 -07:00
Erik Arvstedt
c237f1302f run-tests: use arg instead of env var for scenario overrides
This removes a source of implicit state and guarantees that regular
calls to `run-tests.sh` always run the builtin tests.
2023-06-01 02:56:22 -07:00
Jonas Nick
4d637adf57 update nixpkgs
btcpayserver: 1.7.1 -> 1.7.2
fulcrum: 1.8.2 -> 1.9.0
nbxplorer: 2.3.49 -> 2.3.54
2023-06-01 02:56:22 -07:00
Erik Arvstedt
f603cb6101 treewide: use mdDoc for descriptions
Enable markdown syntax (instead of docbook) for descriptions.
This only affects external doc tooling that renders the descriptions.
2023-06-01 02:56:22 -07:00
Erik Arvstedt
ba54d3d699 shellcheck-services.nix: update to NixOS 22.11 2023-06-01 02:56:22 -07:00
Erik Arvstedt
2e5b287bc8 test: update to NixOS 22.11 2023-06-01 02:56:22 -07:00
Jonas Nick
6b7b23cd6e update nixpkgs
btcpayserver: 1.6.12 -> 1.7.1
bitcoind: 24.0 -> 24.0.1
clightning: 0.12.1 -> 22.11.1
lnd: 0.15.4-beta -> 0.15.5-beta
nbxplorer: 2.3.41 -> 2.3.49
2023-06-01 02:56:22 -07:00
Jonas Nick
de4797be1f update nixpkgs
bitcoin: 23.0 -> 24.0
bitcoind: 23.0 -> 24.0
charge-lnd: 0.2.12 -> 0.2.13
2023-06-01 02:56:22 -07:00
Jonas Nick
206deaf2b3 update nixpkgs
electrs: 0.9.9 -> 0.9.10
elementsd: 22.0 -> 22.0.2
extra-container: 0.10 -> 0.11
lnd: 0.15.2-beta -> 0.15.4-beta
2023-06-01 02:56:22 -07:00
Erik Arvstedt
9c61850621 clightning-replication: switch system before waiting for server sshd
This is primarily a cosmetic change.
- Increases code clarity because all system test blocks now start with `switch_to_system`
- Optimizes dependency ordering because `switch_to_system` has no
  dependency on the server sshd
2023-06-01 02:56:22 -07:00
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 (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 : Update nixpkgs
63f8b740268792d10475bdc8d203f50fa1641583 pyln-client: add patch that fixes plugins (Jonas Nick)
5255c7e8bc7f17d3b0bb0524350432a9c27dc8dc pyln-client: remove pkg patch that has become unnecessary (Jonas Nick)
c165836fd18a18f4b513a04d954f6ab4779208e4 bitcoind: add "getdeploymentinfo" to public rpc whitelist (Jonas Nick)
623c238b16bde9fcb5f6ef7d4f98036b37bd38e9 clightning-plugins: remove commando pkg and module (Jonas Nick)
33144262ecb263d4ce002ac61a531f4a6d524d67 clightning-plugins: bump ver of pyln-client required by prometheus (Jonas Nick)
9c766df16a0e58e25fa5ced1d4c05f7fae19425e Revert "clightning: fix build" (Jonas Nick)
b57e7466fb1aa15ee29d287046edc1c26b28d65d update nixpkgs (Jonas Nick)

Pull request description:

ACKs for top commit:
  erikarvstedt:
    ACK 63f8b740268792d10475bdc8d203f50fa1641583

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