Fix update-vars script
This commit is contained in:
@@ -87,6 +87,8 @@ in
|
|||||||
relativeDir = removePrefix "${self}/" (toString config.clan.directory);
|
relativeDir = removePrefix "${self}/" (toString config.clan.directory);
|
||||||
|
|
||||||
update-vars = hostPkgs.writeShellScriptBin "update-vars" ''
|
update-vars = hostPkgs.writeShellScriptBin "update-vars" ''
|
||||||
|
set -x
|
||||||
|
export PRJ_ROOT=$(git rev-parse --show-toplevel)
|
||||||
${update-vars-script} $PRJ_ROOT/${relativeDir} ${testName}
|
${update-vars-script} $PRJ_ROOT/${relativeDir} ${testName}
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
|||||||
@@ -51,10 +51,13 @@ class TestFlake(Flake):
|
|||||||
clan-core#checks.<system>.<test_name>
|
clan-core#checks.<system>.<test_name>
|
||||||
"""
|
"""
|
||||||
|
|
||||||
def __init__(self, check_attr: str, *args: Any, **kwargs: Any) -> None:
|
def __init__(
|
||||||
|
self, check_attr: str, test_dir: Path, *args: Any, **kwargs: Any
|
||||||
|
) -> None:
|
||||||
"""Initialize the TestFlake with the check attribute."""
|
"""Initialize the TestFlake with the check attribute."""
|
||||||
super().__init__(*args, **kwargs)
|
super().__init__(*args, **kwargs)
|
||||||
self.check_attr = check_attr
|
self.check_attr = check_attr
|
||||||
|
self.test_dir = test_dir
|
||||||
|
|
||||||
@override
|
@override
|
||||||
def precache(self, selectors: list[str]) -> None:
|
def precache(self, selectors: list[str]) -> None:
|
||||||
@@ -62,6 +65,10 @@ class TestFlake(Flake):
|
|||||||
# TODO @DavHau pls fix!
|
# TODO @DavHau pls fix!
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
@property
|
||||||
|
def path(self) -> Path:
|
||||||
|
return self.test_dir
|
||||||
|
|
||||||
def select_machine(self, machine_name: str, selector: str) -> Any:
|
def select_machine(self, machine_name: str, selector: str) -> Any:
|
||||||
"""Select a nix attribute for a specific machine.
|
"""Select a nix attribute for a specific machine.
|
||||||
|
|
||||||
@@ -189,7 +196,7 @@ def main() -> None:
|
|||||||
if system.endswith("-darwin"):
|
if system.endswith("-darwin"):
|
||||||
test_system = system.rstrip("darwin") + "linux"
|
test_system = system.rstrip("darwin") + "linux"
|
||||||
|
|
||||||
flake = TestFlake(opts.check_attr, str(opts.repo_root))
|
flake = TestFlake(opts.check_attr, test_dir, str(opts.repo_root))
|
||||||
machine_names = get_machine_names(
|
machine_names = get_machine_names(
|
||||||
opts.repo_root,
|
opts.repo_root,
|
||||||
opts.check_attr,
|
opts.check_attr,
|
||||||
@@ -203,6 +210,7 @@ def main() -> None:
|
|||||||
)
|
)
|
||||||
|
|
||||||
# This hack is necessary because the sops store uses flake.path to find the machine keys
|
# This hack is necessary because the sops store uses flake.path to find the machine keys
|
||||||
|
# This hack does not work because flake.invalidate_cache resets _path
|
||||||
flake._path = opts.test_dir # noqa: SLF001
|
flake._path = opts.test_dir # noqa: SLF001
|
||||||
|
|
||||||
machines = [
|
machines = [
|
||||||
@@ -211,6 +219,7 @@ def main() -> None:
|
|||||||
user = "admin"
|
user = "admin"
|
||||||
admin_key_path = Path(test_dir.resolve() / "sops" / "users" / user / "key.json")
|
admin_key_path = Path(test_dir.resolve() / "sops" / "users" / user / "key.json")
|
||||||
admin_key_path.parent.mkdir(parents=True, exist_ok=True)
|
admin_key_path.parent.mkdir(parents=True, exist_ok=True)
|
||||||
|
os.environ["SOPS_AGE_KEY_FILE"] = str(admin_key_path)
|
||||||
admin_key_path.write_text(
|
admin_key_path.write_text(
|
||||||
json.dumps(
|
json.dumps(
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user