From 2d373613e6a7dfa301855780382275533eb7341e Mon Sep 17 00:00:00 2001 From: Luc Perkins Date: Mon, 15 Apr 2024 11:50:56 -0300 Subject: [PATCH] Add check action --- .github/workflows/check.yml | 14 ++++++++++++++ .github/workflows/flakehub-publish-tagged.yml | 5 +++-- flake.nix | 14 +++++++++++--- 3 files changed, 28 insertions(+), 5 deletions(-) create mode 100644 .github/workflows/check.yml diff --git a/.github/workflows/check.yml b/.github/workflows/check.yml new file mode 100644 index 0000000..8132cf8 --- /dev/null +++ b/.github/workflows/check.yml @@ -0,0 +1,14 @@ +on: + pull_request: + push: + branches: [main] + +jobs: + check: + runs-on: "ubuntu-22.04" + steps: + - uses: "actions/checkout@v4" + - uses: "DeterminateSystems/nix-installer-action@main" + - uses: "DeterminateSystems/magic-nix-cache-action@main" + - name: Flake check + run: nix develop --command check diff --git a/.github/workflows/flakehub-publish-tagged.yml b/.github/workflows/flakehub-publish-tagged.yml index 1df8189..6203fbf 100644 --- a/.github/workflows/flakehub-publish-tagged.yml +++ b/.github/workflows/flakehub-publish-tagged.yml @@ -5,13 +5,14 @@ on: jobs: publish: - runs-on: "ubuntu-latest" + runs-on: "ubuntu-22.04" permissions: id-token: "write" contents: "read" steps: - - uses: "actions/checkout@v3" + - uses: "actions/checkout@v4" - uses: "DeterminateSystems/nix-installer-action@main" + - uses: "DeterminateSystems/magic-nix-cache-action@main" - uses: "DeterminateSystems/flakehub-push@main" with: visibility: "public" diff --git a/flake.nix b/flake.nix index 5e3ef9c..4882a88 100644 --- a/flake.nix +++ b/flake.nix @@ -15,6 +15,16 @@ ${exec "nixpkgs-fmt"} **/*.nix ''; + check = prev.writeScriptBin "check" '' + for dir in `ls -d */`; do # Iterate through all the templates + ( + cd $dir + + nix flake check --all-systems --no-build + ) + done + ''; + dvt = prev.writeScriptBin "dvt" '' if [ -z $1 ]; then echo "no template specified" @@ -46,8 +56,6 @@ nix flake check --all-systems --no-build ) done - - ''; }) ]; @@ -59,7 +67,7 @@ { devShells = forEachSupportedSystem ({ pkgs }: { default = pkgs.mkShell { - packages = with pkgs; [ format update ]; + packages = with pkgs; [ check format update ]; }; });