Skip to content

Commit

Permalink
ci: switch cache Nix store
Browse files Browse the repository at this point in the history
Replaces the cachix/install-nix-action with the more
up-to-date nixbuild/nix-quick-install-action.
Additionally, it introduces caching of the
Nix store using nix-community/cache-nix-action
to avoide rate limit errors and speed up subsequent CI runs.

Configured cache restoration and garbage collection.
Added necessary Nix configuration to flake.nix for caching.
  • Loading branch information
YusukeShimizu committed Sep 6, 2024
1 parent 89d79f7 commit 3894af7
Show file tree
Hide file tree
Showing 2 changed files with 25 additions and 4 deletions.
23 changes: 19 additions & 4 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,8 +39,23 @@ jobs:
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Install Nix and run tests
uses: determinateSystems/nix-installer-action@v12
- uses: DeterminateSystems/magic-nix-cache-action@v7
- uses: DeterminateSystems/flake-checker-action@v8
- uses: nixbuild/nix-quick-install-action@v28
- name: Restore and cache Nix store
uses: nix-community/cache-nix-action@v5
with:
# restore and save a cache using this key
primary-key: nix-${{ runner.os }}-${{ hashFiles('**/*.nix') }}
# 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
gc-max-store-size-linux: 1073741824
# do purge caches
purge: true
# purge all versions of the cache
purge-prefixes: cache-${{ runner.os }}-
# created more than this number of seconds ago relative to the start of the `Post Restore` phase
purge-created: 0
# except the version with the `primary-key`, if it exists
purge-primary-key: never
- run: nix-shell --run "make test-${{matrix.test-vector}}"
6 changes: 6 additions & 0 deletions flake.nix
Original file line number Diff line number Diff line change
@@ -1,4 +1,10 @@
{
nixConfig.extra-substituters = [
"https://peerswap.cachix.org"
];
nixConfig.extra-trusted-public-keys = [
"peerswap.cachix.org-1:YsClAEBZtmKr/gArdsevdDTYjIQumJNn3uny1VeTxCI="
];
inputs = {
# Pinning to revision f54322490f509985fa8be4ac9304f368bd8ab924
# - cln v24.02.1
Expand Down

0 comments on commit 3894af7

Please sign in to comment.