This repository has no description
1.8 kB
57 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: Evaluate all NixOS configurations
24 run: |
25 echo "Evaluating NixOS configurations..."
26 failed=0
27 for machine in $(nix eval --json .#nixosConfigurations --apply builtins.attrNames | jq -r '.[]'); do
28 echo "Evaluating $machine..."
29 if ! nix eval .#nixosConfigurations.$machine.config.system.build.toplevel --raw; then
30 echo "❌ Failed to evaluate $machine"
31 failed=1
32 else
33 echo "✅ $machine evaluated successfully"
34 fi
35 done
36 exit $failed
37
38 - name: Evaluate all Darwin configurations
39 run: |
40 echo "Evaluating Darwin configurations..."
41 failed=0
42 for machine in $(nix eval --json .#darwinConfigurations --apply builtins.attrNames 2>/dev/null | jq -r '.[]' 2>/dev/null || echo ""); do
43 if [ -n "$machine" ]; then
44 echo "Evaluating $machine..."
45 if ! nix eval .#darwinConfigurations.$machine.system --raw; then
46 echo "❌ Failed to evaluate $machine"
47 failed=1
48 else
49 echo "✅ $machine evaluated successfully"
50 fi
51 fi
52 done
53 exit $failed
54
55 - name: Check formatter
56 run: |
57 nix fmt -- --fail-on-change