From 2b03164307e2b446ff4f1010a0b0a286c89986b9 Mon Sep 17 00:00:00 2001 From: trev Date: Tue, 18 Mar 2025 22:05:36 -0400 Subject: [PATCH] feat: workflow caching --- .github/workflows/release.yml | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 83626ad..6e48ef7 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -16,9 +16,27 @@ jobs: uses: actions/checkout@v4 - name: Install Nix - uses: cachix/install-nix-action@v31 + uses: nixbuild/nix-quick-install-action@v30 + + - uses: nix-community/cache-nix-action@v6 with: - nix_path: nixpkgs=channel:nixos-unstable + # restore and save a cache using this key + primary-key: nix-${{ runner.os }}-${{ hashFiles('**/*.nix', '**/flake.lock') }} + # if there's no cache hit, restore a cache by this prefix + restore-prefixes-first-match: nix-${{ runner.os }}- + # collect garbage until Nix store size (in bytes) is at most this number + # before trying to save a new cache + # 1G = 1073741824 + gc-max-store-size-linux: 1G + # do purge caches + purge: true + # purge all versions of the cache + purge-prefixes: nix-${{ runner.os }}- + # created more than this number of seconds ago + # relative to the start of the `Post Restore and save Nix store` phase + purge-created: 0 + # except any version with the key that is the same as the `primary-key` + purge-primary-key: never - name: Build run: nix develop --command ts-build