From 4ee8feab7bbd3746abf4d6f91e014cd119a3e883 Mon Sep 17 00:00:00 2001 From: Kiara Grouwstra Date: Fri, 19 Sep 2025 10:13:53 +0200 Subject: [PATCH] WIP: expose tests thru flake, closes #517 status: still fails on nix-flake-check.sh expecting `nix build` over `nix run`. Signed-off-by: Kiara Grouwstra --- .forgejo/workflows/ci.yaml | 17 ----------------- .forgejo/workflows/nix-flake-check.sh | 1 + .forgejo/workflows/nix-flake-check.yaml | 9 ++++++++- deployment/flake-part.nix | 19 +++++++++++++++++++ flake.nix | 6 +++++- 5 files changed, 33 insertions(+), 19 deletions(-) delete mode 100644 .forgejo/workflows/ci.yaml diff --git a/.forgejo/workflows/ci.yaml b/.forgejo/workflows/ci.yaml deleted file mode 100644 index 359ca3c9..00000000 --- a/.forgejo/workflows/ci.yaml +++ /dev/null @@ -1,17 +0,0 @@ -on: - workflow_dispatch: # allows manual triggering - pull_request: - types: - - opened - - synchronize - - reopened - push: - branches: - - main - -jobs: - check-data-model: - runs-on: native - steps: - - uses: actions/checkout@v4 - - run: nix-shell --run 'nix-unit ./deployment/data-model-test.nix' diff --git a/.forgejo/workflows/nix-flake-check.sh b/.forgejo/workflows/nix-flake-check.sh index 7e81b0d6..06a909c9 100755 --- a/.forgejo/workflows/nix-flake-check.sh +++ b/.forgejo/workflows/nix-flake-check.sh @@ -14,6 +14,7 @@ output=$(mktemp) name: Nix flake checks on: + workflow_dispatch: # allows manual triggering pull_request: types: - opened diff --git a/.forgejo/workflows/nix-flake-check.yaml b/.forgejo/workflows/nix-flake-check.yaml index a4bc8321..e4b240e6 100644 --- a/.forgejo/workflows/nix-flake-check.yaml +++ b/.forgejo/workflows/nix-flake-check.yaml @@ -1,6 +1,7 @@ name: Nix flake checks on: + workflow_dispatch: # allows manual triggering pull_request: types: - opened @@ -12,7 +13,7 @@ on: jobs: _checks: - needs: ["deployment-basic","deployment-cli","deployment-model-nixops4","deployment-model-ssh","deployment-model-tf","deployment-panel","nixops-deployment-providers-default","nixops-deployment-providers-fedi200","nixops-deployment-providers-fedi201","nixops-deployment-providers-forgejo-ci","nixops-deployment-providers-test","nixops-deployment-providers-vm02116","nixops-deployment-providers-vm02187","nixosConfigurations-fedi200","nixosConfigurations-fedi201","nixosConfigurations-forgejo-ci","nixosConfigurations-test01","nixosConfigurations-test02","nixosConfigurations-test03","nixosConfigurations-test04","nixosConfigurations-test05","nixosConfigurations-test06","nixosConfigurations-test11","nixosConfigurations-test12","nixosConfigurations-test13","nixosConfigurations-test14","nixosConfigurations-vm02116","nixosConfigurations-vm02187","panel","pre-commit","proxmox-basic","test-mastodon-service","test-peertube-service","vmOptions-fedi200","vmOptions-fedi201","vmOptions-test01","vmOptions-test02","vmOptions-test03","vmOptions-test04","vmOptions-test05","vmOptions-test06","vmOptions-test11","vmOptions-test12","vmOptions-test13","vmOptions-test14"] + needs: ["data-model","deployment-basic","deployment-cli","deployment-model-nixops4","deployment-model-ssh","deployment-model-tf","deployment-panel","nixops-deployment-providers-default","nixops-deployment-providers-fedi200","nixops-deployment-providers-fedi201","nixops-deployment-providers-forgejo-ci","nixops-deployment-providers-test","nixops-deployment-providers-vm02116","nixops-deployment-providers-vm02187","nixosConfigurations-fedi200","nixosConfigurations-fedi201","nixosConfigurations-forgejo-ci","nixosConfigurations-test01","nixosConfigurations-test02","nixosConfigurations-test03","nixosConfigurations-test04","nixosConfigurations-test05","nixosConfigurations-test06","nixosConfigurations-test11","nixosConfigurations-test12","nixosConfigurations-test13","nixosConfigurations-test14","nixosConfigurations-vm02116","nixosConfigurations-vm02187","panel","pre-commit","proxmox-basic","test-mastodon-service","test-peertube-service","vmOptions-fedi200","vmOptions-fedi201","vmOptions-test01","vmOptions-test02","vmOptions-test03","vmOptions-test04","vmOptions-test05","vmOptions-test06","vmOptions-test11","vmOptions-test12","vmOptions-test13","vmOptions-test14"] runs-on: native steps: - run: true @@ -23,6 +24,12 @@ jobs: - uses: actions/checkout@v4 - run: nix-shell --run '.forgejo/workflows/nix-flake-check.sh check' + data-model: + runs-on: native + steps: + - uses: actions/checkout@v4 + - run: nix run .#checks.x86_64-linux.data-model -vL + deployment-basic: runs-on: native steps: diff --git a/deployment/flake-part.nix b/deployment/flake-part.nix index 024ab86d..04a3bf15 100644 --- a/deployment/flake-part.nix +++ b/deployment/flake-part.nix @@ -5,8 +5,27 @@ perSystem = { pkgs, system, ... }: + let + inherit (pkgs) lib; + in { checks = { + data-model = + pkgs.writers.writeBashBin "data-model.sh" + { + makeWrapperArgs = [ + "--prefix" + "PATH" + ":" + "${lib.makeBinPath [ + pkgs.nix-unit + ]}" + ]; + } + '' + nix-unit ./deployment/data-model-test.nix + ''; + proxmox-basic = import ./check/proxmox { inherit (pkgs.testers) runNixOSTest; inherit sources system; diff --git a/flake.nix b/flake.nix index cab1e641..13fb7df3 100644 --- a/flake.nix +++ b/flake.nix @@ -33,10 +33,14 @@ system, ... }: + let + exported = import ./. { inherit sources system; }; + in { checks = { - panel = (import ./. { inherit sources system; }).tests.panel.basic; + panel = exported.tests.panel.basic; }; + devShells.default = exported.shell; formatter = pkgs.nixfmt-rfc-style; pre-commit.settings.hooks =