58 lines
1.5 KiB
YAML
58 lines
1.5 KiB
YAML
name: "Test"
|
|
on:
|
|
pull_request:
|
|
push:
|
|
jobs:
|
|
calculate-matrix:
|
|
name: Calculate build matrix
|
|
runs-on: ubuntu-latest
|
|
outputs:
|
|
matrix: ${{ steps.set-matrix.outputs.matrix }}
|
|
steps:
|
|
- uses: actions/checkout@v2.4.0
|
|
|
|
- uses: cachix/install-nix-action@v16
|
|
with:
|
|
nix_path: nixpkgs=channel:nixos-unstable
|
|
extra_nix_config: |
|
|
experimental-features = nix-command flakes
|
|
|
|
- name: Calculate build matrix
|
|
id: set-matrix
|
|
run: |
|
|
# Use `-c` flag with jq for compact output (doesn't keep newlines in
|
|
# output which was causing issues when setting the output
|
|
matrix=$(nix flake show --json | jq -c '.nixosConfigurations | keys')
|
|
echo "::set-output name=matrix::$matrix"
|
|
|
|
tests:
|
|
name: Build NixOS configurations
|
|
runs-on: ubuntu-latest
|
|
needs:
|
|
- calculate-matrix
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
target: "${{ fromJson(needs.calculate-matrix.outputs.matrix) }}"
|
|
|
|
|
|
steps:
|
|
- uses: actions/checkout@v2.4.0
|
|
|
|
- uses: cachix/install-nix-action@v16
|
|
with:
|
|
nix_path: nixpkgs=channel:nixos-unstable
|
|
extra_nix_config: |
|
|
experimental-features = nix-command flakes
|
|
|
|
- uses: cachix/cachix-action@v10
|
|
with:
|
|
name: alejandro-dotfiles
|
|
authToken: '${{ secrets.CACHIX_AUTH_TOKEN }}'
|
|
|
|
- run: nix-env -i nixos-rebuild -f '<nixpkgs>'
|
|
|
|
- run: nixos-rebuild build --flake ".#${{ matrix.target }}"
|
|
|
|
- run: echo OK
|