From 7d577713bb7abbc6eb9c0b98b2be589e4146be05 Mon Sep 17 00:00:00 2001 From: Ryan Yin Date: Sun, 24 Mar 2024 23:53:53 +0800 Subject: [PATCH 1/4] feat(outputs/*/tests): add kernel tests --- outputs/aarch64-linux/tests/kernel/expected.nix | 8 ++++++++ outputs/aarch64-linux/tests/kernel/expr.nix | 9 +++++++++ outputs/x86_64-linux/tests/kernel/expected.nix | 8 ++++++++ outputs/x86_64-linux/tests/kernel/expr.nix | 9 +++++++++ 4 files changed, 34 insertions(+) create mode 100644 outputs/aarch64-linux/tests/kernel/expected.nix create mode 100644 outputs/aarch64-linux/tests/kernel/expr.nix create mode 100644 outputs/x86_64-linux/tests/kernel/expected.nix create mode 100644 outputs/x86_64-linux/tests/kernel/expr.nix diff --git a/outputs/aarch64-linux/tests/kernel/expected.nix b/outputs/aarch64-linux/tests/kernel/expected.nix new file mode 100644 index 00000000..2ebb9486 --- /dev/null +++ b/outputs/aarch64-linux/tests/kernel/expected.nix @@ -0,0 +1,8 @@ +{ + lib, + outputs, +}: let + hostsNames = builtins.attrNames outputs.nixosConfigurations; + expected = lib.genAttrs hostsNames (_: "aarch64-linux"); +in + expected diff --git a/outputs/aarch64-linux/tests/kernel/expr.nix b/outputs/aarch64-linux/tests/kernel/expr.nix new file mode 100644 index 00000000..478781b0 --- /dev/null +++ b/outputs/aarch64-linux/tests/kernel/expr.nix @@ -0,0 +1,9 @@ +{ + lib, + outputs, +}: +lib.genAttrs +(builtins.attrNames outputs.nixosConfigurations) +( + name: outputs.nixosConfigurations.${name}.config.boot.kernelPackages.kernel.system +) diff --git a/outputs/x86_64-linux/tests/kernel/expected.nix b/outputs/x86_64-linux/tests/kernel/expected.nix new file mode 100644 index 00000000..2a67c06d --- /dev/null +++ b/outputs/x86_64-linux/tests/kernel/expected.nix @@ -0,0 +1,8 @@ +{ + lib, + outputs, +}: let + hostsNames = builtins.attrNames outputs.nixosConfigurations; + expected = lib.genAttrs hostsNames (_: "x86-64-linux"); +in + expected diff --git a/outputs/x86_64-linux/tests/kernel/expr.nix b/outputs/x86_64-linux/tests/kernel/expr.nix new file mode 100644 index 00000000..478781b0 --- /dev/null +++ b/outputs/x86_64-linux/tests/kernel/expr.nix @@ -0,0 +1,9 @@ +{ + lib, + outputs, +}: +lib.genAttrs +(builtins.attrNames outputs.nixosConfigurations) +( + name: outputs.nixosConfigurations.${name}.config.boot.kernelPackages.kernel.system +) From 55d0c4f87c7871b8dd1484eff0c443b739083601 Mon Sep 17 00:00:00 2001 From: Ryan Yin Date: Sun, 24 Mar 2024 23:55:29 +0800 Subject: [PATCH 2/4] fix(outputs/x86-64_linux/tests): conflict filesystem definitions --- outputs/x86_64-linux/src/kubevirt-shoryu.nix | 1 - outputs/x86_64-linux/src/kubevirt-shushou.nix | 1 - outputs/x86_64-linux/src/kubevirt-youko.nix | 1 - 3 files changed, 3 deletions(-) diff --git a/outputs/x86_64-linux/src/kubevirt-shoryu.nix b/outputs/x86_64-linux/src/kubevirt-shoryu.nix index b79067d5..aa69479a 100644 --- a/outputs/x86_64-linux/src/kubevirt-shoryu.nix +++ b/outputs/x86_64-linux/src/kubevirt-shoryu.nix @@ -20,7 +20,6 @@ # common "secrets/nixos.nix" "modules/nixos/server/server.nix" - "modules/nixos/server/proxmox-hardware-configuration.nix" # host specific "hosts/k8s/${name}" ]) diff --git a/outputs/x86_64-linux/src/kubevirt-shushou.nix b/outputs/x86_64-linux/src/kubevirt-shushou.nix index 2ea2db29..e3bd151d 100644 --- a/outputs/x86_64-linux/src/kubevirt-shushou.nix +++ b/outputs/x86_64-linux/src/kubevirt-shushou.nix @@ -20,7 +20,6 @@ # common "secrets/nixos.nix" "modules/nixos/server/server.nix" - "modules/nixos/server/proxmox-hardware-configuration.nix" # host specific "hosts/k8s/${name}" ]) diff --git a/outputs/x86_64-linux/src/kubevirt-youko.nix b/outputs/x86_64-linux/src/kubevirt-youko.nix index 222b18a8..07e1c904 100644 --- a/outputs/x86_64-linux/src/kubevirt-youko.nix +++ b/outputs/x86_64-linux/src/kubevirt-youko.nix @@ -20,7 +20,6 @@ # common "secrets/nixos.nix" "modules/nixos/server/server.nix" - "modules/nixos/server/proxmox-hardware-configuration.nix" # host specific "hosts/k8s/${name}" ]) From e5606b6619336d159688f624991ea1b42fc38b35 Mon Sep 17 00:00:00 2001 From: Ryan Yin Date: Mon, 25 Mar 2024 00:00:12 +0800 Subject: [PATCH 3/4] fix(tests): error: attribute 'rk3588' missing --- .github/workflows/flake_evaltests.yml | 1 + lib/colmenaSystem.nix | 2 +- lib/macosSystem.nix | 2 +- lib/nixosSystem.nix | 2 +- outputs/aarch64-linux/tests/kernel/expected.nix | 2 +- outputs/aarch64-linux/tests/kernel/expr.nix | 4 +++- outputs/default.nix | 9 ++++++--- 7 files changed, 14 insertions(+), 8 deletions(-) diff --git a/.github/workflows/flake_evaltests.yml b/.github/workflows/flake_evaltests.yml index 525d0c05..edfd92b4 100644 --- a/.github/workflows/flake_evaltests.yml +++ b/.github/workflows/flake_evaltests.yml @@ -37,4 +37,5 @@ jobs: - name: Run Nix Flake Eval Tests run: | echo 'Flake Eval Tests' + nix eval .#checks --show-trace --print-build-logs --verbose nix eval .#evalTests --show-trace --print-build-logs --verbose diff --git a/lib/colmenaSystem.nix b/lib/colmenaSystem.nix index d628719f..221385ba 100644 --- a/lib/colmenaSystem.nix +++ b/lib/colmenaSystem.nix @@ -9,10 +9,10 @@ tags, ssh-user, genSpecialArgs, + specialArgs ? (genSpecialArgs system), ... }: let inherit (inputs) home-manager; - specialArgs = genSpecialArgs system; in {name, ...}: { deployment = { diff --git a/lib/macosSystem.nix b/lib/macosSystem.nix index 347c919d..2fd90454 100644 --- a/lib/macosSystem.nix +++ b/lib/macosSystem.nix @@ -6,10 +6,10 @@ myvars, system, genSpecialArgs, + specialArgs ? (genSpecialArgs system), ... }: let inherit (inputs) nixpkgs home-manager nix-darwin; - specialArgs = genSpecialArgs system; in nix-darwin.lib.darwinSystem { inherit system specialArgs; diff --git a/lib/nixosSystem.nix b/lib/nixosSystem.nix index 8f923cb5..a0b3038d 100644 --- a/lib/nixosSystem.nix +++ b/lib/nixosSystem.nix @@ -5,11 +5,11 @@ genSpecialArgs, nixos-modules, home-modules ? [], + specialArgs ? (genSpecialArgs system), myvars, ... }: let inherit (inputs) nixpkgs home-manager nixos-generators; - specialArgs = genSpecialArgs system; in nixpkgs.lib.nixosSystem { inherit system specialArgs; diff --git a/outputs/aarch64-linux/tests/kernel/expected.nix b/outputs/aarch64-linux/tests/kernel/expected.nix index 2ebb9486..677d30f4 100644 --- a/outputs/aarch64-linux/tests/kernel/expected.nix +++ b/outputs/aarch64-linux/tests/kernel/expected.nix @@ -3,6 +3,6 @@ outputs, }: let hostsNames = builtins.attrNames outputs.nixosConfigurations; - expected = lib.genAttrs hostsNames (_: "aarch64-linux"); + expected = lib.genAttrs hostsNames (_: true); in expected diff --git a/outputs/aarch64-linux/tests/kernel/expr.nix b/outputs/aarch64-linux/tests/kernel/expr.nix index 478781b0..1e0e72e0 100644 --- a/outputs/aarch64-linux/tests/kernel/expr.nix +++ b/outputs/aarch64-linux/tests/kernel/expr.nix @@ -5,5 +5,7 @@ lib.genAttrs (builtins.attrNames outputs.nixosConfigurations) ( - name: outputs.nixosConfigurations.${name}.config.boot.kernelPackages.kernel.system + # test only if kernelPackages is set, to avoid build the kernel. + # name: outputs.nixosConfigurations.${name}.config.boot.kernelPackages.kernel.system + name: outputs.nixosConfigurations.${name}.config.boot.kernelPackages != null ) diff --git a/outputs/default.nix b/outputs/default.nix index 037eff84..862835ee 100644 --- a/outputs/default.nix +++ b/outputs/default.nix @@ -53,9 +53,6 @@ in { # Add attribute sets into outputs, for debugging debugAttrs = {inherit nixosSystems darwinSystems allSystems allSystemNames;}; - # Eval Tests for all NixOS systems. - evalTests = lib.lists.all (it: it.evalTests == {}) allSystemValues; - # NixOS Hosts nixosConfigurations = lib.attrsets.mergeAttrsList (map (it: it.nixosConfigurations or {}) nixosSystemValues); @@ -90,8 +87,14 @@ in { system: allSystems.${system}.packages or {} ); + # Eval Tests for all NixOS & darwin systems. + evalTests = lib.lists.all (it: it.evalTests == {}) allSystemValues; + checks = forAllSystems ( system: { + # eval-tests per system + eval-tests = allSystems.${system}.evalTests == {}; + pre-commit-check = pre-commit-hooks.lib.${system}.run { src = mylib.relativeToRoot "."; hooks = { From d70eaa0b333469aa365d45169539129e4f851c5a Mon Sep 17 00:00:00 2001 From: Ryan Yin Date: Mon, 25 Mar 2024 00:27:35 +0800 Subject: [PATCH 4/4] fix(tests): error: The option `fileSystems."/run/media/nixos_k3s".mountOptions' does not exist --- hosts/k8s/disko-config/kubevirt-disko-fs.nix | 4 +--- outputs/x86_64-linux/tests/kernel/expected.nix | 2 +- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/hosts/k8s/disko-config/kubevirt-disko-fs.nix b/hosts/k8s/disko-config/kubevirt-disko-fs.nix index fdaa32f2..d2bc5f40 100644 --- a/hosts/k8s/disko-config/kubevirt-disko-fs.nix +++ b/hosts/k8s/disko-config/kubevirt-disko-fs.nix @@ -3,9 +3,7 @@ fileSystems."/run/media/nixos_k3s" = { device = "/dev/disk/by-label/NIXOS_K3S"; fsType = "vfat"; - mountOptions = [ - "ro" - ]; + options = ["ro"]; }; disko.devices = { diff --git a/outputs/x86_64-linux/tests/kernel/expected.nix b/outputs/x86_64-linux/tests/kernel/expected.nix index 2a67c06d..34aca296 100644 --- a/outputs/x86_64-linux/tests/kernel/expected.nix +++ b/outputs/x86_64-linux/tests/kernel/expected.nix @@ -3,6 +3,6 @@ outputs, }: let hostsNames = builtins.attrNames outputs.nixosConfigurations; - expected = lib.genAttrs hostsNames (_: "x86-64-linux"); + expected = lib.genAttrs hostsNames (_: "x86_64-linux"); in expected