checks/inventory: optimize eval tests to use filtered sources

Replace full flake source (self) with minimal filtered filesets to prevent
unnecessary rebuilds when unrelated files change. All three inventory eval
tests now use the same unified fileset containing only necessary files.

This follows the same optimization pattern applied to other eval tests,
significantly reducing rebuild frequency during development.
This commit is contained in:
Jörg Thalheim
2025-07-07 20:41:20 +02:00
parent a3b3310a46
commit 462974b85c
2 changed files with 31 additions and 8 deletions

View File

@@ -10,6 +10,23 @@ in
system, system,
... ...
}: }:
let
# Common filtered source for inventory tests
inventoryTestsSrc = lib.fileset.toSource {
root = ../../../..;
fileset = lib.fileset.unions [
../../../../flake.nix
../../../../flake.lock
(lib.fileset.fileFilter (file: file.name == "flake-module.nix") ../../../..)
../../../../flakeModules
../../../../lib
../../../../nixosModules/clanCore
../../../../clanModules/borgbackup
../../../../machines
../../../../inventory.json
];
};
in
{ {
# Run: nix-unit --extra-experimental-features flakes --flake .#legacyPackages.x86_64-linux.<attrName> # Run: nix-unit --extra-experimental-features flakes --flake .#legacyPackages.x86_64-linux.<attrName>
legacyPackages.evalTests-distributedServices = import ./tests { legacyPackages.evalTests-distributedServices = import ./tests {
@@ -27,7 +44,7 @@ in
--extra-experimental-features flakes \ --extra-experimental-features flakes \
--show-trace \ --show-trace \
${inputOverrides} \ ${inputOverrides} \
--flake ${self}#legacyPackages.${system}.evalTests-distributedServices --flake ${inventoryTestsSrc}#legacyPackages.${system}.evalTests-distributedServices
touch $out touch $out
''; '';
@@ -37,7 +54,7 @@ in
--extra-experimental-features flakes \ --extra-experimental-features flakes \
--show-trace \ --show-trace \
${inputOverrides} \ ${inputOverrides} \
--flake ${self}#legacyPackages.${system}.eval-tests-resolve-module --flake ${inventoryTestsSrc}#legacyPackages.${system}.eval-tests-resolve-module
touch $out touch $out
''; '';

View File

@@ -68,12 +68,18 @@ in
--show-trace \ --show-trace \
${inputOverrides} \ ${inputOverrides} \
--flake ${ --flake ${
self.filter { lib.fileset.toSource {
include = [ root = ../../..;
"flakeModules" fileset = lib.fileset.unions [
"lib" ../../../flake.nix
"clanModules/flake-module.nix" ../../../flake.lock
"clanModules/borgbackup" (lib.fileset.fileFilter (file: file.name == "flake-module.nix") ../../..)
../../../flakeModules
../../../lib
../../../nixosModules/clanCore
../../../clanModules/borgbackup
../../../machines
../../../inventory.json
]; ];
} }
}#legacyPackages.${system}.evalTests-inventory }#legacyPackages.${system}.evalTests-inventory