From 0e71cf15887bdae59655865284c42a570241d4c9 Mon Sep 17 00:00:00 2001 From: David Abram Date: Sun, 11 Oct 2026 04:08:56 +0200 Subject: [PATCH] perf(nix): reuse musl dependency artifacts and skip redundant release checks --- flake.nix | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/flake.nix b/flake.nix index 311016023..2e46ea6fa 100644 --- a/flake.nix +++ b/flake.nix @@ -388,7 +388,13 @@ src = craneLib.cleanCargoSource ./cli; }; - cargoArtifacts = craneLib.buildDepsOnly cargoDepsArgs; + # Release consumers only need compiled dependencies, not check artifacts. + cargoArtifacts = craneLib.buildDepsOnly ( + cargoDepsArgs + // { + buildPhaseCargoCommand = "cargoWithProfile build --locked"; + } + ); # Keep production artifacts on Crane's release profile. The test and # Clippy derivations use the unoptimized Cargo test profile with a @@ -481,12 +487,19 @@ CARGO_BUILD_TARGET = muslTarget; }; - cargoArtifactsMusl = craneLibMusl.buildDepsOnly cargoDepsArgsMusl; + cargoArtifactsMusl = craneLibMusl.buildDepsOnly ( + cargoDepsArgsMusl + // { + buildPhaseCargoCommand = "cargoWithProfile build --locked"; + } + ); scePackageMusl = craneLibMusl.buildPackage ( (commonCargoArgs // muslEnvVars // releaseCommitArgs) // { - inherit cargoArtifactsMusl; + # Crane expects cargoArtifacts rather than cargoArtifactsMusl. + # Reuse the separately prepared musl dependency artifacts. + cargoArtifacts = cargoArtifactsMusl; nativeBuildInputs = [ rustToolchainMusl pkgs.cmake