|
132 | 132 | inherit src; |
133 | 133 | strictDeps = true; |
134 | 134 |
|
135 | | - # avoid release builds throughout for faster feedback from checks |
136 | | - # note that this also affects the built packages |
137 | | - CARGO_PROFILE = "crane"; |
138 | | - |
139 | 135 | # provide fallback name & version for workspace related derivations |
140 | 136 | # this is mainly to silence warnings from crane about providing a stub |
141 | 137 | # value overridden in per-crate packages with info from Cargo.toml |
|
154 | 150 | cargoVendorDir = vendoredDeps.${name}; |
155 | 151 | }; |
156 | 152 |
|
| 153 | + # use nix-ci profile for fast checks |
| 154 | + ciArgsFor = |
| 155 | + name: |
| 156 | + commonArgsFor name |
| 157 | + // { |
| 158 | + CARGO_PROFILE = "nix-ci"; |
| 159 | + }; |
| 160 | + |
157 | 161 | cargoArtifacts = builtins.mapAttrs ( |
158 | 162 | name: craneLib: |
159 | 163 | craneLib.buildDepsOnly ( |
|
164 | 168 | } |
165 | 169 | ) |
166 | 170 | ) 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; |
167 | 182 |
|
168 | 183 | treefmtEval = treefmt-nix.lib.evalModule pkgs ./treefmt.nix; |
169 | 184 |
|
|
347 | 362 | }; |
348 | 363 | formatter = treefmtEval.config.build.wrapper; |
349 | 364 | checks = |
350 | | - packages |
351 | | - // (pkgs.lib.mapAttrs' ( |
| 365 | + (pkgs.lib.mapAttrs' ( |
352 | 366 | name: craneLib: |
353 | 367 | (pkgs.lib.nameValuePair "payjoin-workspace-nextest-${name}" ( |
354 | 368 | craneLib.cargoNextest ( |
355 | | - commonArgsFor name |
| 369 | + ciArgsFor name |
356 | 370 | // { |
357 | 371 | name = "payjoin-workspace-nextest-${name}"; |
358 | 372 | cargoLock = cargoLock.${name}; |
359 | | - cargoArtifacts = cargoArtifacts.${name}; |
| 373 | + cargoArtifacts = cargoArtifactsCi.${name}; |
360 | 374 | partitions = 1; |
361 | 375 | partitionType = "count"; |
362 | 376 | cargoExtraArgs = "--locked --workspace --all-features --exclude payjoin-fuzz"; |
|
372 | 386 | ) |
373 | 387 | // { |
374 | 388 | payjoin-workspace-machete = craneLibVersions.nightly.mkCargoDerivation ( |
375 | | - commonArgsFor "nightly" |
| 389 | + ciArgsFor "nightly" |
376 | 390 | // { |
377 | 391 | pname = "payjoin-workspace-machete"; |
378 | 392 | cargoLock = cargoLock.nightly; |
379 | | - cargoArtifacts = cargoArtifacts.nightly; |
| 393 | + cargoArtifacts = cargoArtifactsCi.nightly; |
380 | 394 | nativeBuildInputs = [ pkgs.cargo-machete ]; |
381 | 395 | buildPhaseCargoCommand = ""; |
382 | 396 | checkPhaseCargoCommand = "cargo machete"; |
|
385 | 399 | ); |
386 | 400 |
|
387 | 401 | payjoin-workspace-clippy = craneLibVersions.nightly.cargoClippy ( |
388 | | - commonArgsFor "nightly" |
| 402 | + ciArgsFor "nightly" |
389 | 403 | // { |
390 | 404 | cargoLock = cargoLock.nightly; |
391 | | - cargoArtifacts = cargoArtifacts.nightly; |
| 405 | + cargoArtifacts = cargoArtifactsCi.nightly; |
392 | 406 | cargoClippyExtraArgs = "--all-targets --all-features --keep-going -- --deny warnings"; |
393 | 407 | } |
394 | 408 | ); |
395 | 409 |
|
396 | 410 | payjoin-workspace-doc = craneLibVersions.nightly.cargoDoc ( |
397 | | - commonArgsFor "nightly" |
| 411 | + ciArgsFor "nightly" |
398 | 412 | // { |
399 | 413 | cargoLock = cargoLock.nightly; |
400 | | - cargoArtifacts = cargoArtifacts.nightly; |
| 414 | + cargoArtifacts = cargoArtifactsCi.nightly; |
401 | 415 | } |
402 | 416 | ); |
403 | 417 |
|
404 | 418 | payjoin-workspace-fmt = craneLibVersions.nightly.cargoFmt ( |
405 | | - commonArgsFor "nightly" |
| 419 | + ciArgsFor "nightly" |
406 | 420 | // { |
407 | 421 | inherit src; |
408 | 422 | # cargoLock = cargoLock.nightly; |
|
446 | 460 | [ |
447 | 461 | payjoin-workspace-nextest-msrv |
448 | 462 | ] |
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 | + ) |
450 | 474 | ); |
451 | 475 |
|
452 | 476 | maintenance = checkSuite "maintenance" ( |
|
0 commit comments