Skip to content

Commit eeed5e7

Browse files
committed
[CI] Parallelize nix build a little
1 parent 2a6f3dc commit eeed5e7

File tree

1 file changed

+29
-2
lines changed

1 file changed

+29
-2
lines changed

.github/workflows/haskell.yml

Lines changed: 29 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -89,12 +89,40 @@ jobs:
8989
rm -rvf .cabal-store/ghc-${{matrix.ghcver}}/pandoc-crossr_-* || true
9090
rm -rvf .cabal-store/ghc-${{matrix.ghcver}}/pndc-crssrf-* || true
9191
92+
build-nix-pre:
93+
strategy:
94+
fail-fast: false
95+
matrix:
96+
os: [ubuntu-latest, ubuntu-24.04-arm]
97+
target: ['.', '.#static']
98+
runs-on: ${{ matrix.os }}
99+
steps:
100+
- uses: actions/checkout@v4
101+
- uses: cachix/install-nix-action@v20
102+
with:
103+
github_access_token: ${{ secrets.GITHUB_TOKEN }}
104+
extra_nix_config: |
105+
substituters = https://cache.nixos.org https://cache.iog.io
106+
trusted-public-keys = cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY= hydra.iohk.io:f/Ea+s+dFdN+3Y/G+FDgSq+a5NEWhJGzdjvKNGv0/EQ=
107+
- uses: cachix/cachix-action@v12
108+
with:
109+
name: pandoc-crossref
110+
authToken: '${{ secrets.CACHIX_AUTH_TOKEN }}'
111+
- name: Setup Attic cache
112+
uses: ryanccn/attic-action@v0
113+
with:
114+
endpoint: https://nix-cache.undo.it
115+
cache: pandoc-crossref
116+
token: ${{ secrets.ATTIC_TOKEN }}
117+
- run: nix build ${{ matrix.target }}
118+
92119
build-nix:
93120
strategy:
94121
fail-fast: false
95122
matrix:
96123
os: [ubuntu-latest, ubuntu-24.04-arm]
97124
runs-on: ${{ matrix.os }}
125+
needs: [build-nix-pre]
98126
steps:
99127
- uses: actions/checkout@v4
100128
- uses: cachix/install-nix-action@v20
@@ -113,9 +141,8 @@ jobs:
113141
endpoint: https://nix-cache.undo.it
114142
cache: pandoc-crossref
115143
token: ${{ secrets.ATTIC_TOKEN }}
116-
- run: nix build
117-
- run: nix build .#static
118144
- run: |
145+
nix build .#static
119146
cp -r result/bin/ pandoc-crossref-${{runner.os}}-${{runner.arch}}
120147
chmod +w -R pandoc-crossref-${{runner.os}}-${{runner.arch}}
121148
- name: Check pandoc version for static binary

0 commit comments

Comments
 (0)