Skip to content

Commit 04afad0

Browse files
yvan-srakajfroche
authored andcommitted
chores(ci): set up nix-github-actions
1 parent 51cab3e commit 04afad0

File tree

4 files changed

+49
-12
lines changed

4 files changed

+49
-12
lines changed

.github/workflows/nix-build.yml

Lines changed: 19 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -19,18 +19,27 @@ concurrency:
1919
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
2020

2121
jobs:
22+
nix-matrix:
23+
runs-on: ubuntu-latest
24+
outputs:
25+
matrix: ${{ steps.set-matrix.outputs.matrix }}
26+
steps:
27+
- uses: actions/checkout@v4
28+
- uses: cachix/install-nix-action@v30
29+
- id: set-matrix
30+
name: Generate Nix Matrix
31+
run: |
32+
set -Eeu
33+
matrix="$(nix eval --json '.#githubActions.matrix')"
34+
echo "matrix=$matrix" >> "$GITHUB_OUTPUT"
35+
2236
build-run-image:
37+
name: ${{ matrix.name }} (${{ matrix.system }})
38+
needs: nix-matrix
39+
runs-on: ${{ matrix.os }}
2340
strategy:
2441
fail-fast: false
25-
matrix:
26-
include:
27-
- runner: blacksmith-32vcpu-ubuntu-2404
28-
arch: amd64
29-
- runner: blacksmith-32vcpu-ubuntu-2404-arm
30-
arch: arm64
31-
- runner: macos-latest-xlarge
32-
arch: arm64
33-
runs-on: ${{ matrix.runner }}
42+
matrix: ${{fromJSON(needs.nix-matrix.outputs.matrix)}}
3443
timeout-minutes: 180
3544
steps:
3645
- name: Checkout Repo
@@ -108,9 +117,7 @@ jobs:
108117
sudo rm -rf /tmp/* 2>/dev/null || true
109118
echo "=== AFTER CLEANUP ==="
110119
df -h
111-
- name: Build psql bundle
112-
run: >
113-
nix build ".#checks.$(nix eval --raw --impure --expr 'builtins.currentSystem')"
120+
- run: nix build -L '.#${{ matrix.attr }}'
114121
env:
115122
AWS_ACCESS_KEY_ID: ${{ env.AWS_ACCESS_KEY_ID }}
116123
AWS_SECRET_ACCESS_KEY: ${{ env.AWS_SECRET_ACCESS_KEY }}

flake.lock

Lines changed: 21 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

flake.nix

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@
1414
git-hooks.url = "github:cachix/git-hooks.nix";
1515
git-hooks.inputs.nixpkgs.follows = "nixpkgs";
1616
nixpkgs-go124.url = "github:Nixos/nixpkgs/d2ac4dfa61fba987a84a0a81555da57ae0b9a2b0";
17+
nix-github-actions.url = "github:nix-community/nix-github-actions";
18+
nix-github-actions.inputs.nixpkgs.follows = "nixpkgs";
1719
};
1820

1921
outputs =
@@ -36,6 +38,7 @@
3638
nix/nixpkgs.nix
3739
nix/packages
3840
nix/overlays
41+
nix/github-actions.nix
3942
];
4043
});
4144
}

nix/github-actions.nix

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{ inputs, ... }:
2+
{
3+
flake.githubActions = inputs.nix-github-actions.lib.mkGithubMatrix {
4+
checks = inputs.nixpkgs.lib.getAttrs [ "x86_64-linux" ] inputs.self.checks;
5+
};
6+
}

0 commit comments

Comments
 (0)