This repository has no description
1.9 kB
60 lines
1name: CI
2
3on:
4 push:
5 pull_request:
6
7jobs:
8 eval-machines:
9 runs-on: ubuntu-latest
10 steps:
11 - uses: actions/checkout@v4
12 with:
13 # Fetch all history for git-based operations
14 fetch-depth: 0
15
16 - uses: DeterminateSystems/nix-installer-action@main
17 with:
18 extra-conf: |
19 experimental-features = nix-command flakes
20
21 - uses: DeterminateSystems/magic-nix-cache-action@main
22
23 - name: Check flake
24 run: nix flake check --no-build --show-trace
25
26 - name: Evaluate all NixOS configurations
27 run: |
28 echo "Evaluating NixOS configurations..."
29 failed=0
30 for machine in $(nix eval --json .#nixosConfigurations --apply builtins.attrNames | jq -r '.[]'); do
31 echo "Evaluating $machine..."
32 if ! nix eval .#nixosConfigurations.$machine.config.system.build.toplevel --raw; then
33 echo "❌ Failed to evaluate $machine"
34 failed=1
35 else
36 echo "✅ $machine evaluated successfully"
37 fi
38 done
39 exit $failed
40
41 - name: Evaluate all Darwin configurations
42 run: |
43 echo "Evaluating Darwin configurations..."
44 failed=0
45 for machine in $(nix eval --json .#darwinConfigurations --apply builtins.attrNames 2>/dev/null | jq -r '.[]' 2>/dev/null || echo ""); do
46 if [ -n "$machine" ]; then
47 echo "Evaluating $machine..."
48 if ! nix eval .#darwinConfigurations.$machine.system --raw; then
49 echo "❌ Failed to evaluate $machine"
50 failed=1
51 else
52 echo "✅ $machine evaluated successfully"
53 fi
54 fi
55 done
56 exit $failed
57
58 - name: Check formatter
59 run: |
60 nix fmt -- --check