add GHA #1
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Nix Flake actions | |
on: | |
pull_request: | |
push: | |
branches: | |
- master | |
- main | |
jobs: | |
nix-matrix: | |
runs-on: ubuntu-latest | |
outputs: | |
matrix: ${{ steps.set-matrix.outputs.matrix }} | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: cachix/install-nix-action@v24 | |
- id: set-matrix | |
name: Generate Nix Matrix | |
run: | | |
set -euo pipefail | |
matrix="$(nix eval --json '.#githubActions.matrix')" | |
echo "matrix=$matrix" >> "$GITHUB_OUTPUT" | |
echo "$matrix" | jq | |
nix-build: | |
needs: nix-matrix | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false # let it build all the targets | |
matrix: ${{fromJSON(needs.nix-matrix.outputs.matrix)}} | |
steps: | |
# Make space for large NixOS closures | |
- name: Free disk space | |
run: | | |
sudo rm -rf \ | |
/usr/local/lib/android \ | |
/opt/ghc \ | |
/usr/local/.ghcup \ | |
"$AGENT_TOOLSDIRECTORY" \ | |
|| true | |
- uses: actions/checkout@v4 | |
- uses: cachix/install-nix-action@v24 | |
- uses: cachix/cachix-action@v14 | |
with: | |
name: test-slowflake | |
authToken: '${{ secrets.CACHIX_AUTH_TOKEN }}' | |
- run: nix build -L ".#githubActions.checks.${{ matrix.attr }}" |