main
yml 149 lines 5.82 KB
Raw
1 name: CI
2
3 on:
4 push:
5 branches:
6 - main
7 pull_request:
8 merge_group:
9
10 permissions:
11 contents: read
12
13 jobs:
14 checks:
15 runs-on: "${{ matrix.os }}"
16 strategy:
17 fail-fast: false
18 matrix:
19 os:
20 - ubuntu-latest
21 - ubuntu-22.04-arm
22 - macos-latest
23 steps:
24 - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7
25 with:
26 persist-credentials: false
27 - uses: cachix/install-nix-action@630ae543ea3a38a9a4166f03376c02c50f408342 # v31.11.0
28 - uses: cachix/cachix-action@5f2d7c5294214f71b873db4b969586b980625e71 # v17
29 with:
30 name: nixos-infra-dev
31 authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}"
32 - run: nix run --inputs-from . nixpkgs#nix-fast-build -- --skip-cached --no-nom
33 nixos-x86_64:
34 runs-on: ubuntu-latest
35 strategy:
36 fail-fast: false
37 matrix:
38 machine:
39 - caliban
40 - elated-minsky
41 - sleepy-brown
42 - haumea
43 - pluto
44 - mimas
45 steps:
46 - name: Free disk space
47 if: matrix.machine == 'mimas'
48 run: |
49 sudo rm -rf /usr/share/dotnet /usr/local/lib/android /opt/ghc
50 - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7
51 with:
52 persist-credentials: false
53 - uses: cachix/install-nix-action@630ae543ea3a38a9a4166f03376c02c50f408342 # v31.11.0
54 - uses: cachix/cachix-action@5f2d7c5294214f71b873db4b969586b980625e71 # v17
55 with:
56 name: nixos-infra-dev
57 authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}"
58 - run: nix run --inputs-from . nixpkgs#nix-fast-build -- --skip-cached --no-nom --flake '.#nixosConfigurations."${{ matrix.machine }}".config.system.build.toplevel'
59 nixos-aarch64:
60 runs-on: ubuntu-24.04-arm
61 strategy:
62 fail-fast: false
63 matrix:
64 machine:
65 - umbriel
66 - goofy-hopcroft
67 - staging-hydra
68 steps:
69 - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7
70 with:
71 persist-credentials: false
72 - uses: cachix/install-nix-action@630ae543ea3a38a9a4166f03376c02c50f408342 # v31.11.0
73 - uses: cachix/cachix-action@5f2d7c5294214f71b873db4b969586b980625e71 # v17
74 with:
75 name: nixos-infra-dev
76 authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}"
77 - run: nix run --inputs-from . nixpkgs#nix-fast-build -- --skip-cached --no-nom --flake '.#nixosConfigurations."${{ matrix.machine }}".config.system.build.toplevel'
78 # ofborg machines share most of their closure, so build all of one arch in a
79 # single job to reuse the store between them.
80 nixos-ofborg-x86_64:
81 name: NixOS ofborg (x86_64)
82 runs-on: ubuntu-latest
83 steps:
84 - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7
85 with:
86 persist-credentials: false
87 - uses: cachix/install-nix-action@630ae543ea3a38a9a4166f03376c02c50f408342 # v31.11.0
88 - uses: cachix/cachix-action@5f2d7c5294214f71b873db4b969586b980625e71 # v17
89 with:
90 name: nixos-infra-dev
91 authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}"
92 - run: nix run --inputs-from . nixpkgs#nix-fast-build -- --skip-cached --no-nom --flake '.#ciSystems.ofborg-x86_64-linux'
93 nixos-ofborg-aarch64:
94 name: NixOS ofborg (aarch64)
95 runs-on: ubuntu-24.04-arm
96 steps:
97 - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7
98 with:
99 persist-credentials: false
100 - uses: cachix/install-nix-action@630ae543ea3a38a9a4166f03376c02c50f408342 # v31.11.0
101 - uses: cachix/cachix-action@5f2d7c5294214f71b873db4b969586b980625e71 # v17
102 with:
103 name: nixos-infra-dev
104 authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}"
105 - run: nix run --inputs-from . nixpkgs#nix-fast-build -- --skip-cached --no-nom --flake '.#ciSystems.ofborg-aarch64-linux'
106 nix-darwin-ofborg:
107 name: nix-darwin ofborg (aarch64)
108 runs-on: macos-latest
109 steps:
110 - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7
111 with:
112 persist-credentials: false
113 - uses: cachix/install-nix-action@630ae543ea3a38a9a4166f03376c02c50f408342 # v31.11.0
114 - uses: cachix/cachix-action@5f2d7c5294214f71b873db4b969586b980625e71 # v17
115 with:
116 name: nixos-infra-dev
117 authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}"
118 - run: nix run --inputs-from . nixpkgs#nix-fast-build -- --skip-cached --no-nom --flake '.#ciSystems.ofborg-aarch64-darwin'
119 nix-darwin-ofborg-x86_64:
120 name: nix-darwin ofborg (x86_64)
121 runs-on: macos-26-intel
122 steps:
123 - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7
124 with:
125 persist-credentials: false
126 - uses: cachix/install-nix-action@630ae543ea3a38a9a4166f03376c02c50f408342 # v31.11.0
127 - uses: cachix/cachix-action@5f2d7c5294214f71b873db4b969586b980625e71 # v17
128 with:
129 name: nixos-infra-dev
130 authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}"
131 - run: nix run --inputs-from . nixpkgs#nix-fast-build -- --skip-cached --no-nom --flake '.#ciSystems.ofborg-x86_64-darwin'
132 nix-darwin:
133 runs-on: macos-latest
134 strategy:
135 fail-fast: false
136 matrix:
137 machine:
138 - intense-heron # m1
139 - kind-lumiere # m2
140 steps:
141 - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7
142 with:
143 persist-credentials: false
144 - uses: cachix/install-nix-action@630ae543ea3a38a9a4166f03376c02c50f408342 # v31.11.0
145 - uses: cachix/cachix-action@5f2d7c5294214f71b873db4b969586b980625e71 # v17
146 with:
147 name: nixos-infra-dev
148 authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}"
149 - run: nix run --inputs-from . nixpkgs#nix-fast-build -- --skip-cached --no-nom --flake '.#darwinConfigurations."${{ matrix.machine }}".config.system.build.toplevel'