nilla: add ci.check

This commit is contained in:
Nikodem Rabuliński 2025-04-01 19:13:17 +02:00
parent 696be4cada
commit ff4457c267
Signed by: nrabulinski
SSH key fingerprint: SHA256:AZZVyfKStaCo8sbJB+3Rr/CRrlym1oEgw7vMnynJeR8
4 changed files with 48 additions and 1 deletions

View file

@ -8,4 +8,5 @@ jobs:
runs-on: native
steps:
- uses: actions/checkout@v4
- run: nix flake check --all-systems
- run: nix-build -A ci.check
- run: ./result

1
.gitignore vendored
View file

@ -1 +1,2 @@
.direnv
result

8
default.nix Normal file
View file

@ -0,0 +1,8 @@
let
nilla = import ./nilla.nix { };
getPackage = name: nilla.packages.${name}.result.${builtins.currentSystem};
in
{
ci.check = getPackage "ci-check";
formatter = getPackage "formatter";
}

View file

@ -75,6 +75,43 @@
in
eval.config.build.wrapper;
};
__allPackages =
let
all-packages = builtins.attrValues (
builtins.removeAttrs config.packages [
"ci-check"
"__allPackages"
]
);
all-packages' = lib.lists.flatten (map (pkg: builtins.attrValues pkg.result) all-packages);
nixos-systems = builtins.attrValues config.systems.nixos;
nixos-systems' = map (system: system.result.config.system.build.toplevel) nixos-systems;
darwin-systems = builtins.attrValues config.systems.darwin;
darwin-systems' = map (system: system.result.config.system.build.toplevel) darwin-systems;
all-drvs = all-packages' ++ nixos-systems' ++ darwin-systems';
all-drvs' = lib.strings.concatMapSep "\n" builtins.unsafeDiscardStringContext all-drvs;
in
mkPackage (
{ runCommand }:
runCommand "eval-check" {
allDerivations = all-drvs';
passAsFile = [ "allDerivations" ];
} "touch $out"
);
ci-check = mkPackage (
{
writeShellScript,
lib,
system,
}:
writeShellScript "ci-check" ''
nix-instantiate --eval -E 'import ./nilla.nix {}' -A packages.__allPackages.result.${system}.outPath
"${lib.getExe config.packages.formatter.result.${system}}" --ci
''
);
};
config.shells.default = {