flake-update-20260201
1name: packages
2
3permissions:
4 contents: read
5
6on:
7 workflow_dispatch: {}
8 pull_request:
9 paths:
10 - 'pkgs/**'
11 - 'flake.nix'
12 - 'flake.lock'
13 - '.github/workflows/build-packages.yaml'
14 push:
15 branches:
16 - main
17 paths:
18 - 'pkgs/**'
19 - 'flake.nix'
20 - 'flake.lock'
21 - '.github/workflows/build-packages.yaml'
22
23concurrency:
24 group: ${{ github.workflow }}-${{ github.ref }}-packages
25 cancel-in-progress: true
26
27jobs:
28 nix-matrix:
29 runs-on: ubuntu-latest
30 outputs:
31 matrix: ${{ steps.set-matrix.outputs.matrix }}
32 steps:
33 - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
34 - uses: cachix/install-nix-action@4e002c8ec80594ecd40e759629461e26c8abed15 # v31.9.0
35 - id: set-matrix
36 name: Generate Nix Matrix
37 run: |
38 set -Eeu
39 set -o pipefail
40 echo "matrix=$(nix eval --json '.#githubActions.matrix')" >> "$GITHUB_OUTPUT"
41
42 nix-build:
43 needs: nix-matrix
44 runs-on: ${{ matrix.os }}
45 strategy:
46 fail-fast: false # Keep running if one leg fails.
47 matrix: ${{fromJSON(needs.nix-matrix.outputs.matrix)}}
48 steps:
49 - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
50 - uses: cachix/install-nix-action@4e002c8ec80594ecd40e759629461e26c8abed15 # v31.9.0
51 - uses: cachix/cachix-action@0fc020193b5a1fa3ac4575aa3a7d3aa6a35435ad # v16
52 with:
53 name: chapeau-rouge
54 authToken: '${{ secrets.CACHIX_AUTH_TOKEN }}'
55 - run: nix build -L ".#${{ matrix.attr }}"