have nix flake .#check do both NUR and system builds
This commit is contained in:
49
flake.nix
49
flake.nix
@@ -339,7 +339,8 @@
|
|||||||
- updates metadata for all feeds
|
- updates metadata for all feeds
|
||||||
- `nix run '.#init-feed' <url>`
|
- `nix run '.#init-feed' <url>`
|
||||||
- `nix run '.#deploy-{lappy,moby,moby-test,servo}' [nixos-rebuild args ...]`
|
- `nix run '.#deploy-{lappy,moby,moby-test,servo}' [nixos-rebuild args ...]`
|
||||||
- `nix run '.#check-nur'`
|
- `nix run '.#check'`
|
||||||
|
- make sure all systems build; NUR evaluates
|
||||||
'';
|
'';
|
||||||
in builtins.toString (pkgs.writeShellScript "nixos-config-help" ''
|
in builtins.toString (pkgs.writeShellScript "nixos-config-help" ''
|
||||||
cat ${helpMsg}
|
cat ${helpMsg}
|
||||||
@@ -390,7 +391,20 @@
|
|||||||
'');
|
'');
|
||||||
};
|
};
|
||||||
|
|
||||||
check-nur = {
|
check = {
|
||||||
|
type = "app";
|
||||||
|
program = builtins.toString (pkgs.writeShellScript "check-all" ''
|
||||||
|
nix run '.#check.nur'
|
||||||
|
RC0=$?
|
||||||
|
nix run '.#check.host-configs'
|
||||||
|
RC1=$?
|
||||||
|
echo "nur: $RC0"
|
||||||
|
echo "host-configs: $RC1"
|
||||||
|
exit $(($RC0 | $RC1))
|
||||||
|
'');
|
||||||
|
};
|
||||||
|
|
||||||
|
check.nur = {
|
||||||
# `nix run '.#check-nur'`
|
# `nix run '.#check-nur'`
|
||||||
# validates that my repo can be included in the Nix User Repository
|
# validates that my repo can be included in the Nix User Repository
|
||||||
type = "app";
|
type = "app";
|
||||||
@@ -402,20 +416,33 @@
|
|||||||
--option allow-import-from-derivation true \
|
--option allow-import-from-derivation true \
|
||||||
--drv-path --show-trace \
|
--drv-path --show-trace \
|
||||||
-I nixpkgs=$(nix-instantiate --find-file nixpkgs) \
|
-I nixpkgs=$(nix-instantiate --find-file nixpkgs) \
|
||||||
-I ../../
|
-I ../../ \
|
||||||
|
| tee # tee to prevent interactive mode
|
||||||
'');
|
'');
|
||||||
};
|
};
|
||||||
|
|
||||||
check-host-configs = {
|
check.host-configs = {
|
||||||
type = "app";
|
type = "app";
|
||||||
program = builtins.toString (pkgs.writeShellScript
|
program = let
|
||||||
|
checkHost = host: ''
|
||||||
|
nix build '.#nixosConfigurations.${host}.config.system.build.toplevel' --out-link ./result-${host} -j2 $@
|
||||||
|
RC_${host}=$?
|
||||||
|
'';
|
||||||
|
in builtins.toString (pkgs.writeShellScript
|
||||||
"check-host-configs"
|
"check-host-configs"
|
||||||
(builtins.concatStringsSep "\n" (builtins.map
|
''
|
||||||
(host: "nix build '.#nixosConfigurations.${host}.config.system.build.toplevel' --out-link ./result-${host} -j1 $@ &")
|
${checkHost "desko"}
|
||||||
[ "desko" "lappy" "servo" "moby" "rescue" ]
|
${checkHost "lappy"}
|
||||||
# not part of the `map`. wait for all builds to complete
|
${checkHost "servo"}
|
||||||
++ [ "wait" ]
|
${checkHost "moby"}
|
||||||
))
|
${checkHost "rescue"}
|
||||||
|
echo "desko: $RC_desko"
|
||||||
|
echo "lappy: $RC_lappy"
|
||||||
|
echo "servo: $RC_servo"
|
||||||
|
echo "moby: $RC_moby"
|
||||||
|
echo "rescue: $RC_rescue"
|
||||||
|
exit $(($RC_desko | $RC_lappy | $RC_servo | $RC_moby | $RC_rescue))
|
||||||
|
''
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
Reference in New Issue
Block a user