45 lines
1,023 B
YAML
45 lines
1,023 B
YAML
name: Evaluate configurations
|
|
|
|
on:
|
|
push:
|
|
|
|
jobs:
|
|
get-names:
|
|
name: Get machine names
|
|
runs-on: ubuntu-latest
|
|
|
|
outputs:
|
|
machines: ${{ steps.machines.outputs.machines }}
|
|
|
|
steps:
|
|
- name: Checkout repository
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Install Nix
|
|
uses: cachix/install-nix-action@v30
|
|
|
|
- name: Get machine names
|
|
id: machines
|
|
run: |
|
|
names=$(nix eval --json .#nixosConfigurations --apply 'builtins.attrNames')
|
|
echo "machines=$names" >> "$GITHUB_OUTPUT"
|
|
|
|
eval:
|
|
name: Evaluate configuration
|
|
runs-on: ubuntu-latest
|
|
needs: get-names
|
|
|
|
strategy:
|
|
matrix:
|
|
machine: ${{ fromJSON(needs.get-names.outputs.machines) }}
|
|
|
|
steps:
|
|
- name: Checkout repository
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Install Nix
|
|
uses: cachix/install-nix-action@v30
|
|
|
|
- name: Eval config
|
|
run: |
|
|
nix eval --raw .#nixosConfigurations.${{ matrix.machine }}.config.system.build.toplevel
|