diff --git a/lib/inventory/build-inventory/default.nix b/lib/inventory/build-inventory/default.nix index 88b952d5e..8f4ad40a7 100644 --- a/lib/inventory/build-inventory/default.nix +++ b/lib/inventory/build-inventory/default.nix @@ -28,10 +28,10 @@ let ); in if tagMembers == [ ] then - throw '' + lib.warn '' inventory.services.${serviceName}.${instanceName}: - ${roleName} tags: no machine with tag '${tag}' found. Available tags: ${builtins.toJSON (lib.unique availableTags)} - '' + '' [] else acc ++ tagMembers ) [ ] members.tags or [ ]); diff --git a/lib/inventory/flake-module.nix b/lib/inventory/flake-module.nix index e356a27d4..e6b834676 100644 --- a/lib/inventory/flake-module.nix +++ b/lib/inventory/flake-module.nix @@ -42,7 +42,7 @@ in checks = { lib-inventory-eval = pkgs.runCommand "tests" { nativeBuildInputs = [ pkgs.nix-unit ]; } '' export HOME="$(realpath .)" - + export NIX_ABORT_ON_WARN=1 nix-unit --eval-store "$HOME" \ --extra-experimental-features flakes \ ${inputOverrides} \ diff --git a/lib/inventory/tests/default.nix b/lib/inventory/tests/default.nix index 1a7b51be2..182069e4a 100644 --- a/lib/inventory/tests/default.nix +++ b/lib/inventory/tests/default.nix @@ -178,6 +178,8 @@ in msg = "Roles roleXYZ are not defined in the service borgbackup."; }; }; + # Needs NIX_ABORT_ON_WARN=1 + # So the lib.warn is turned into abort test_inventory_tag_doesnt_exist = let configs = buildInventory { @@ -201,8 +203,9 @@ in { expr = configs; expectedError = { - type = "ThrownError"; - msg = "no machine with tag '\\w+' found"; + type = "Error"; + # TODO: Add warning matching in nix-unit + msg = ".*"; }; }; test_inventory_disabled_service =