Skip to content

chore(deps): update packages managed by nvfetcher (#4550) #633

chore(deps): update packages managed by nvfetcher (#4550)

chore(deps): update packages managed by nvfetcher (#4550) #633

---
name: Build Push Cache
on:
workflow_dispatch: {}
push:
paths:
- "system/**"
- "home/**"
- "packages/**"
- "overlays/**"
- "flake.lock"
- "*nix"
jobs:
define-matrix:
runs-on: ubuntu-latest
outputs:
matrix: ${{ steps.set-matrix.outputs.matrix }}
steps:
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6
- uses: actions/cache@8b402f58fbc84540c8b491a91e594a4576fec3d7 # v5.0.2
id: cache
with:
path: /tmp/nix-cache
key: nix-flake-inputs-${{ hashFiles('**/flake.lock') }}
restore-keys: |
nix-flake-inputs-
- uses: cachix/install-nix-action@4e002c8ec80594ecd40e759629461e26c8abed15 # v31.9.0
- name: Import Nix store cache
if: steps.cache.outputs.cache-hit == 'true'
run: nix copy --all --no-check-sigs --from /tmp/nix-cache
- name: Build and Export .#gc-keep to Nix store cache
run: |
# remove everything before copying so the cache doesn't grow over time
sudo rm -rf /tmp/nix-cache
nix copy --no-check-sigs --to /tmp/nix-cache .#gc-keep
- id: set-matrix
run: |
set -Eeu
matrix="$(nix eval --json '.#ghActions.matrix')"
echo "matrix=$matrix" >> "$GITHUB_OUTPUT"
build-push:
name: ${{ matrix.attrset }}
needs: define-matrix
runs-on: ${{ matrix.runner }}
strategy:
fail-fast: false
matrix: ${{ fromJSON(needs.define-matrix.outputs.matrix) }}
steps:
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6
- uses: actions/cache/restore@8b402f58fbc84540c8b491a91e594a4576fec3d7 # v5.0.2
id: cache
with:
path: /tmp/nix-cache
key: nix-flake-inputs-${{ hashFiles('**/flake.lock') }}
- name: Brutally add more storage to our runner
uses: wimpysworld/nothing-but-nix@a77b09ee91691223ff188d8fb6a87d699d457b4f # main
with:
hatchet-protocol: carve
- uses: cachix/install-nix-action@4e002c8ec80594ecd40e759629461e26c8abed15 # v31.9.0
- name: Import Nix store cache
if: steps.cache.outputs.cache-hit == 'true'
run: nix copy --no-check-sigs --all --from /tmp/nix-cache
- name: Login to Cachix
uses: cachix/cachix-action@0fc020193b5a1fa3ac4575aa3a7d3aa6a35435ad # v16
with:
name: budimanjojo
authToken: '${{ secrets.CACHIX_AUTH_TOKEN }}'
skipPush: true
- name: Build
id: build
run: |
result=$(nix build .#${{ matrix.attrset }} --print-out-paths)
echo "result=$result" >> $GITHUB_OUTPUT
- name: Push
run: cachix push budimanjojo ${{ steps.build.outputs.result }}