flake: CI a *configure* test for static builds

Adding an entire second Lix build to test the static version is too
expensive for our current CI setup, but we can at least run the
up to the configure phase, which is a good premise.

Change-Id: I61e1ded7dd79698a9bb0f9a1d113b8b9963dfd44
This commit is contained in:
Qyriad 2024-05-30 18:16:01 -06:00
parent e54d4c9381
commit 8f5c8a8d75

View file

@ -140,10 +140,11 @@
config.permittedInsecurePackages = [ "nix-2.13.6" ];
};
stdenvs = forAllStdenvs (make-pkgs null);
static-stdenvs = forAllStdenvs (name: (make-pkgs null name).pkgsStatic);
native = stdenvs.stdenvPackages;
in
{
inherit stdenvs native;
inherit stdenvs native static-stdenvs;
static = native.pkgsStatic;
cross = forAllCrossSystems (crossSystem: make-pkgs crossSystem "stdenv");
}
@ -288,6 +289,22 @@
);
};
# Running a static build in CI for every CL is too expensive for us right now...
# But we can at least make sure it configures successfuly, which is cheap and where
# a good chunk of issues show up.
configure-static = forAvailableSystems (
system:
let
staticConfigure = self.packages.${system}.nix-static.overrideAttrs {
dontBuild = true;
installPhase = ''
mkdir -p "$out"
'';
};
in
lib.optionalAttrs (self.packages.${system} ? nix-static) staticConfigure
);
pre-commit = forAvailableSystems (
system:
let
@ -316,6 +333,9 @@
// (lib.optionalAttrs (builtins.elem system linux64BitSystems)) {
dockerImage = self.hydraJobs.dockerImage.${system};
}
// (lib.optionalAttrs (self.hydraJobs.configure-static ? "${system}")) {
configure-static = self.hydraJobs.configure-static.${system};
}
);
packages = forAllSystems (