nix build: fix tests incremental building and testing
This commit is contained in:
parent
bcaced807a
commit
b96db0bc7c
2 changed files with 24 additions and 11 deletions
10
flake.nix
10
flake.nix
|
@ -23,10 +23,9 @@
|
||||||
flake-utils.lib.eachDefaultSystem (system:
|
flake-utils.lib.eachDefaultSystem (system:
|
||||||
let
|
let
|
||||||
pkgs = nixpkgs.legacyPackages.${system};
|
pkgs = nixpkgs.legacyPackages.${system};
|
||||||
compileFor = target: release: (compile {
|
packageFor = target: release: (compile {
|
||||||
inherit system git_version target nixpkgs crane rust-overlay release;
|
inherit system git_version target nixpkgs crane rust-overlay release;
|
||||||
});
|
}).garage;
|
||||||
packageFor = target: release: (compileFor target release).garage;
|
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
packages = {
|
packages = {
|
||||||
|
@ -43,7 +42,10 @@
|
||||||
dev = packageFor null false;
|
dev = packageFor null false;
|
||||||
|
|
||||||
# test = cargo test
|
# test = cargo test
|
||||||
test = (compileFor null false).garage-test;
|
tests = (compile {
|
||||||
|
inherit system git_version nixpkgs crane rust-overlay;
|
||||||
|
release = false;
|
||||||
|
}).garage-test;
|
||||||
};
|
};
|
||||||
|
|
||||||
# ---- developpment shell, for making native builds only ----
|
# ---- developpment shell, for making native builds only ----
|
||||||
|
|
|
@ -141,6 +141,12 @@ let
|
||||||
CARGO_TARGET_X86_64_UNKNOWN_LINUX_GNU_LINKER = "clang";
|
CARGO_TARGET_X86_64_UNKNOWN_LINUX_GNU_LINKER = "clang";
|
||||||
});
|
});
|
||||||
|
|
||||||
|
testArgs = commonArgs // {
|
||||||
|
pname = "garage-tests";
|
||||||
|
cargoExtraArgs = "${commonArgs.cargoExtraArgs} --tests --workspace";
|
||||||
|
CARGO_PROFILE = "test";
|
||||||
|
};
|
||||||
|
|
||||||
in rec {
|
in rec {
|
||||||
toolchain = toolchainFn pkgs;
|
toolchain = toolchainFn pkgs;
|
||||||
|
|
||||||
|
@ -158,21 +164,26 @@ in rec {
|
||||||
|
|
||||||
garage = craneLib.buildPackage (commonArgs // {
|
garage = craneLib.buildPackage (commonArgs // {
|
||||||
cargoArtifacts = garage-deps;
|
cargoArtifacts = garage-deps;
|
||||||
|
|
||||||
doCheck = false;
|
doCheck = false;
|
||||||
version = git_version;
|
version = git_version;
|
||||||
GIT_VERSION = git_version;
|
GIT_VERSION = git_version;
|
||||||
});
|
});
|
||||||
|
|
||||||
garage-test-deps = craneLib.buildDepsOnly (commonArgs // {
|
garage-test-deps = craneLib.buildDepsOnly (testArgs // {
|
||||||
pname = "garage-test";
|
|
||||||
cargoArtifacts = garage;
|
cargoArtifacts = garage;
|
||||||
cargoExtraArgs = "${commonArgs.cargoExtraArgs} --tests --workspace";
|
|
||||||
CARGO_PROFILE = "test";
|
|
||||||
});
|
});
|
||||||
|
|
||||||
garage-test = craneLib.cargoTest (commonArgs // {
|
garage-test-bin = craneLib.cargoBuild (testArgs // {
|
||||||
cargoTestExtraArgs = "--workspace";
|
|
||||||
cargoArtifacts = garage-test-deps;
|
cargoArtifacts = garage-test-deps;
|
||||||
CARGO_PROFILE = "test";
|
|
||||||
|
doCheck = false;
|
||||||
|
});
|
||||||
|
|
||||||
|
garage-test = craneLib.cargoTest (testArgs // {
|
||||||
|
cargoArtifacts = garage-test-bin;
|
||||||
|
nativeBuildInputs = commonArgs.nativeBuildInputs ++ [
|
||||||
|
pkgs.cacert
|
||||||
|
];
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue