Skip to content

Commit 388e803

Browse files
authored
Rename crane profile to nix-ci and use for checks (#1297)
2 parents 6a32bcc + 962794d commit 388e803

2 files changed

Lines changed: 41 additions & 17 deletions

File tree

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,6 @@ payjoin = { path = "payjoin" }
1515
payjoin-mailroom = { path = "payjoin-mailroom" }
1616
payjoin-test-utils = { path = "payjoin-test-utils" }
1717

18-
[profile.crane]
18+
[profile.nix-ci]
1919
inherits = "test"
2020
debug = false

flake.nix

Lines changed: 40 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -132,10 +132,6 @@
132132
inherit src;
133133
strictDeps = true;
134134

135-
# avoid release builds throughout for faster feedback from checks
136-
# note that this also affects the built packages
137-
CARGO_PROFILE = "crane";
138-
139135
# provide fallback name & version for workspace related derivations
140136
# this is mainly to silence warnings from crane about providing a stub
141137
# value overridden in per-crate packages with info from Cargo.toml
@@ -154,6 +150,14 @@
154150
cargoVendorDir = vendoredDeps.${name};
155151
};
156152

153+
# use nix-ci profile for fast checks
154+
ciArgsFor =
155+
name:
156+
commonArgsFor name
157+
// {
158+
CARGO_PROFILE = "nix-ci";
159+
};
160+
157161
cargoArtifacts = builtins.mapAttrs (
158162
name: craneLib:
159163
craneLib.buildDepsOnly (
@@ -164,6 +168,17 @@
164168
}
165169
)
166170
) craneLibVersions;
171+
# use nix-ci profile for cargo artifacts
172+
cargoArtifactsCi = builtins.mapAttrs (
173+
name: craneLib:
174+
craneLib.buildDepsOnly (
175+
ciArgsFor name
176+
// {
177+
name = "workspace-deps-ci-${name}";
178+
cargoLock = cargoLock.${name};
179+
}
180+
)
181+
) craneLibVersions;
167182

168183
treefmtEval = treefmt-nix.lib.evalModule pkgs ./treefmt.nix;
169184

@@ -347,16 +362,15 @@
347362
};
348363
formatter = treefmtEval.config.build.wrapper;
349364
checks =
350-
packages
351-
// (pkgs.lib.mapAttrs' (
365+
(pkgs.lib.mapAttrs' (
352366
name: craneLib:
353367
(pkgs.lib.nameValuePair "payjoin-workspace-nextest-${name}" (
354368
craneLib.cargoNextest (
355-
commonArgsFor name
369+
ciArgsFor name
356370
// {
357371
name = "payjoin-workspace-nextest-${name}";
358372
cargoLock = cargoLock.${name};
359-
cargoArtifacts = cargoArtifacts.${name};
373+
cargoArtifacts = cargoArtifactsCi.${name};
360374
partitions = 1;
361375
partitionType = "count";
362376
cargoExtraArgs = "--locked --workspace --all-features --exclude payjoin-fuzz";
@@ -372,11 +386,11 @@
372386
)
373387
// {
374388
payjoin-workspace-machete = craneLibVersions.nightly.mkCargoDerivation (
375-
commonArgsFor "nightly"
389+
ciArgsFor "nightly"
376390
// {
377391
pname = "payjoin-workspace-machete";
378392
cargoLock = cargoLock.nightly;
379-
cargoArtifacts = cargoArtifacts.nightly;
393+
cargoArtifacts = cargoArtifactsCi.nightly;
380394
nativeBuildInputs = [ pkgs.cargo-machete ];
381395
buildPhaseCargoCommand = "";
382396
checkPhaseCargoCommand = "cargo machete";
@@ -385,24 +399,24 @@
385399
);
386400

387401
payjoin-workspace-clippy = craneLibVersions.nightly.cargoClippy (
388-
commonArgsFor "nightly"
402+
ciArgsFor "nightly"
389403
// {
390404
cargoLock = cargoLock.nightly;
391-
cargoArtifacts = cargoArtifacts.nightly;
405+
cargoArtifacts = cargoArtifactsCi.nightly;
392406
cargoClippyExtraArgs = "--all-targets --all-features --keep-going -- --deny warnings";
393407
}
394408
);
395409

396410
payjoin-workspace-doc = craneLibVersions.nightly.cargoDoc (
397-
commonArgsFor "nightly"
411+
ciArgsFor "nightly"
398412
// {
399413
cargoLock = cargoLock.nightly;
400-
cargoArtifacts = cargoArtifacts.nightly;
414+
cargoArtifacts = cargoArtifactsCi.nightly;
401415
}
402416
);
403417

404418
payjoin-workspace-fmt = craneLibVersions.nightly.cargoFmt (
405-
commonArgsFor "nightly"
419+
ciArgsFor "nightly"
406420
// {
407421
inherit src;
408422
# cargoLock = cargoLock.nightly;
@@ -446,7 +460,17 @@
446460
[
447461
payjoin-workspace-nextest-msrv
448462
]
449-
++ pkgs.lib.attrValues packages
463+
++ pkgs.lib.attrValues (
464+
builtins.mapAttrs (
465+
_name: pkg:
466+
pkg.overrideAttrs (
467+
final: prev: {
468+
CARGO_PROFILE = "nix-ci";
469+
cargoArtifacts = cargoArtifactsCi.msrv;
470+
}
471+
)
472+
) packages
473+
)
450474
);
451475

452476
maintenance = checkSuite "maintenance" (

0 commit comments

Comments
 (0)