aboutsummaryrefslogtreecommitdiff
path: root/.github
diff options
context:
space:
mode:
authorSergey Gulin2024-03-27 12:22:02 +0300
committerSergey Gulin2024-03-29 20:25:47 +0300
commita92835264100583903dc408abe43d461ff7d4dca (patch)
treef22e488e7d057772809a9936ad124915ff968b6f /.github
parent0a0187794ac7f7a1e62cda3dabf8dc041f868790 (diff)
[OPS-1384] Introduce NixOS VM tests
Problem: Currently, the only way to test deploy-rs deployments is to actually do a deployment to an existing NixOS instance (either in VM, or a real machine) manually. This is a bit inconvenient and one can forget to test changes when developing/reviewing deploy-rs changes. Solution: Add NixOS VM tests.
Diffstat (limited to '.github')
-rw-r--r--.github/workflows/check.yml22
1 files changed, 19 insertions, 3 deletions
diff --git a/.github/workflows/check.yml b/.github/workflows/check.yml
index 567f961..79e9442 100644
--- a/.github/workflows/check.yml
+++ b/.github/workflows/check.yml
@@ -2,10 +2,26 @@ name: Nix flake check
on: pull_request
jobs:
+ get-matrix:
+ runs-on: [self-hosted, nix]
+ outputs:
+ check-matrix: ${{ steps.set-check-matrix.outputs.matrix }}
+ steps:
+ - uses: actions/checkout@v4
+
+ - id: set-check-matrix
+ run: echo "matrix=$(nix eval --json .#check-matrix.x86_64-linux)" >> $GITHUB_OUTPUT
+
check:
- runs-on: self-hosted
+ needs: get-matrix
+ name: check ${{ matrix.check }}
+ runs-on: [self-hosted, nix]
+ strategy:
+ fail-fast: false
+ # this matrix consists of the names of all checks defined in flake.nix
+ matrix: ${{fromJson(needs.get-matrix.outputs.check-matrix)}}
steps:
- uses: actions/checkout@v4
- - name: check flake
- run: nix flake check -L
+ - name: check
+ run: nix build -L .#checks.x86_64-linux.${{ matrix.check }}