nilla: add ci.check
This commit is contained in:
parent
696be4cada
commit
ff4457c267
4 changed files with 48 additions and 1 deletions
|
@ -8,4 +8,5 @@ jobs:
|
||||||
runs-on: native
|
runs-on: native
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
- run: nix flake check --all-systems
|
- run: nix-build -A ci.check
|
||||||
|
- run: ./result
|
||||||
|
|
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -1 +1,2 @@
|
||||||
.direnv
|
.direnv
|
||||||
|
result
|
||||||
|
|
8
default.nix
Normal file
8
default.nix
Normal 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";
|
||||||
|
}
|
37
nilla.nix
37
nilla.nix
|
@ -75,6 +75,43 @@
|
||||||
in
|
in
|
||||||
eval.config.build.wrapper;
|
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 = {
|
config.shells.default = {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue