Skip to content

Commit 38dd352

Browse files
committed
Merge #812: Update nixpkgs
bba75b0 support running joinmarket with bitcoind 29 (Erik Arvstedt) 1c786d6 update nixpkgs (Erik Arvstedt) 3a13b5f ci/test-info.nix: read scenarios from github workflow file (Erik Arvstedt) Pull request description: ACKs for top commit: jonasnick: ACK bba75b0 Tree-SHA512: 420be622af97a7879eb4f8b0705726185994398ad89b8483eef1821b7a586b70da6200f8a562b434ca5d87fff56be39f56b606e107e5dff49278dd8b0524f52d
2 parents dedbacf + bba75b0 commit 38dd352

File tree

10 files changed

+58
-25
lines changed

10 files changed

+58
-25
lines changed

.github/workflows/test.yml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,11 @@ jobs:
3131
runs-on: ubuntu-latest
3232
strategy:
3333
matrix:
34-
scenario: [default, netns, netnsRegtest]
34+
scenario:
35+
- default
36+
- netns
37+
- netnsRegtest
38+
- joinmarket-bitcoind-29
3539
needs: build_test_drivers
3640
if: needs.build_test_drivers.outputs.run_scenario_tests == 'true'
3741
steps:

flake.lock

Lines changed: 6 additions & 6 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

modules/joinmarket.nix

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -251,6 +251,19 @@ in {
251251
}
252252

253253
(mkIf cfg.enable {
254+
assertions = [
255+
{
256+
assertion = lib.versionOlder bitcoind.package.version "30";
257+
message = ''
258+
Joinmarket is not compatible with bitcoind >= 30.
259+
(https://github.com/JoinMarket-Org/joinmarket-clientserver/pull/1775)
260+
261+
To fix this, add the following to your config:
262+
services.bitcoind.package = config.nix-bitcoin.pkgs.bitcoind_29;
263+
'';
264+
}
265+
];
266+
254267
services.bitcoind = {
255268
enable = true;
256269
disablewallet = false;

modules/netns-isolation.nix

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -341,7 +341,7 @@ in {
341341
services.nbxplorer.address = netns.nbxplorer.address;
342342
services.btcpayserver.address = netns.btcpayserver.address;
343343

344-
services.joinmarket = {
344+
services.joinmarket = mkIf config.services.joinmarket.enable {
345345
payjoinAddress = netns.joinmarket.address;
346346
messagingAddress = netns.joinmarket.address;
347347
cliExec = mkCliExec "joinmarket";

pkgs/default.nix

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,8 @@ let self = {
2525
mempool-nginx-conf;
2626
trustedcoin = pkgs.callPackage ./trustedcoin { };
2727

28+
bitcoind_29 = pkgs.bitcoind;
29+
2830
pyPkgs = import ./python-packages self pkgs.python3;
2931
inherit (self.pyPkgs)
3032
nbPython3Packages

pkgs/pinned.nix

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22
pkgs: pkgsUnstable:
33
{
44
inherit (pkgs)
5-
clboss
65
elementsd
76
extra-container
87
fulcrum
@@ -16,6 +15,7 @@ pkgs: pkgsUnstable:
1615
bitcoind-knots
1716
btcpayserver
1817
charge-lnd
18+
clboss
1919
clightning
2020
electrs
2121
lightning-loop

test/ci/test-info.nix

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,19 @@
11
pkgs: instantiateTests:
22

33
let
4+
scenarioNames = let
5+
inherit (pkgs) lib;
6+
workflowSrc = builtins.readFile ../../.github/workflows/test.yml;
7+
matches = builtins.match ".*scenario:(([ \n]+-[ ]+[^ \n]+)+).*" workflowSrc;
8+
scenariosStr = builtins.head matches;
9+
particles = builtins.split "[ \n]+-[ ]+" scenariosStr;
10+
# The first split particle is always an empty str
11+
particles' = builtins.tail particles;
12+
in
13+
builtins.filter lib.isString particles';
14+
415
# `instantiateTests` prints the test name before evaluating, which is useful for debugging
5-
ciTests = instantiateTests [
6-
"default"
7-
"netns"
8-
"netnsRegtest"
9-
];
16+
ciTests = instantiateTests scenarioNames;
1017
drivers = map (x: x.driver) ciTests;
1118
driverDrvs = map (x: ''"${x.drvPath}^*"'') drivers;
1219
in ''

test/nixos-search/flake.lock

Lines changed: 9 additions & 9 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

test/run-tests.sh

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -302,6 +302,7 @@ buildable=(
302302
lndPruned
303303
wireguard-lndconnect
304304
trustedcoin
305+
joinmarket-bitcoind-29
305306
)
306307
buildable() { buildTests buildable "$@"; }
307308

test/tests.nix

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -213,7 +213,6 @@ let
213213
services.fulcrum.enable = true;
214214
services.liquidd.enable = true;
215215
services.btcpayserver.enable = true;
216-
services.joinmarket.enable = true;
217216
services.joinmarket-ob-watcher.enable = true;
218217
services.backups.enable = true;
219218

@@ -261,7 +260,6 @@ let
261260
services.electrs.enable = true;
262261
services.fulcrum.enable = true;
263262
services.btcpayserver.enable = true;
264-
services.joinmarket.enable = true;
265263
};
266264

267265
# netns and regtest, without secure-node.nix
@@ -342,6 +340,14 @@ let
342340
plugins.trustedcoin.enable = true;
343341
};
344342
};
343+
344+
# The full regtest test with bitcoind 29 and joinmarket enabled.
345+
# Joinmarket only supports bitcoind 29.
346+
joinmarket-bitcoind-29 = { config, ... }: {
347+
imports = [ scenarios.regtest ];
348+
services.joinmarket.enable = true;
349+
services.bitcoind.package = config.nix-bitcoin.pkgs.bitcoind_29;
350+
};
345351
} // (import ../dev/dev-scenarios.nix {
346352
inherit lib scenarios;
347353
});

0 commit comments

Comments
 (0)