From d5de566ffc9390b27f35827ae923ac2a2fe86518 Mon Sep 17 00:00:00 2001 From: Gabriel Simmer Date: Wed, 16 Aug 2023 09:40:07 +0100 Subject: [PATCH] Test nix-community/cache-nix-build action --- .gitea/workflows/test-build.yml | 86 ++++++++++++--------------------- 1 file changed, 30 insertions(+), 56 deletions(-) diff --git a/.gitea/workflows/test-build.yml b/.gitea/workflows/test-build.yml index 729d633..f4f4767 100644 --- a/.gitea/workflows/test-build.yml +++ b/.gitea/workflows/test-build.yml @@ -11,24 +11,20 @@ jobs: - name: Install prerequisites run: apt update && apt install -y sudo zstd - - name: "Cache Nix store" - uses: actions/cache@v3.0.8 - id: nix-cache - with: - path: /tmp/nixcache - key: "dref-cache-v1" - - name: Install Nix - uses: https://github.com/cachix/install-nix-action@v22 - with: - extra_nix_config: "experimental-features = nix-command flakes" - nix_path: nixpkgs=channel:nixos-23.05 + uses: https://github.com/nixbuild/nix-quick-install-action@v25 + - name: Remove access_tokens run: sed -i '/^access-tokens/d' /etc/nix/nix.conf - - name: "Import Nix store cache" - if: "steps.nix-cache.outputs.cache-hit == 'true'" - run: "nix-store --import < /tmp/nixcache" + - name: Restore and cache Nix store + uses: https://github.com/nix-community/cache-nix-action@v1 + with: + linux-gc-enabled: true + linux-max-store-size: 536870912 + key: cache-${{ matrix.os }}-${{ hashFiles('**/*') }} + restore-keys: | + cache-${{ matrix.os }} - name: Check out repository uses: actions/checkout@v3.5.3 @@ -37,11 +33,6 @@ jobs: - name: Check codebase run: nix flake check -L - - name: "Export Nix store cache" - if: "steps.nix-cache.outputs.cache-hit != 'true'" - run: "nix-store --export $(find /nix/store -maxdepth 1 -name '*-*') > /tmp/nixcache" - - docker-build: needs: nix-flake-check runs-on: debian-latest @@ -49,24 +40,20 @@ jobs: - name: Install prerequisites run: apt update && apt install -y sudo zstd - - name: "Cache Nix store" - uses: actions/cache@v3.0.8 - id: nix-cache - with: - path: /tmp/nixcache - key: "dref-cache-v1" - - name: Install Nix - uses: https://github.com/cachix/install-nix-action@v22 - with: - extra_nix_config: "experimental-features = nix-command flakes" - nix_path: nixpkgs=channel:nixos-23.05 + uses: https://github.com/nixbuild/nix-quick-install-action@v25 + - name: Remove access_tokens run: sed -i '/^access-tokens/d' /etc/nix/nix.conf - - name: "Import Nix store cache" - if: "steps.nix-cache.outputs.cache-hit == 'true'" - run: "nix-store --import < /tmp/nixcache" + - name: Restore and cache Nix store + uses: https://github.com/nix-community/cache-nix-action@v1 + with: + linux-gc-enabled: true + linux-max-store-size: 536870912 + key: cache-${{ matrix.os }}-${{ hashFiles('**/*') }} + restore-keys: | + cache-${{ matrix.os }} - name: Check out repository uses: actions/checkout@v3.5.3 @@ -80,11 +67,6 @@ jobs: wget https://raw.githubusercontent.com/containers/skopeo/main/default-policy.json && mkdir /etc/containers && mv default-policy.json /etc/containers/policy.json skopeo copy docker-archive:result docker://icr.gmem.ca/dref:latest - - name: "Export Nix store cache" - if: "steps.nix-cache.outputs.cache-hit != 'true'" - run: "nix-store --export $(find /nix/store -maxdepth 1 -name '*-*') > /tmp/nixcache" - - arm-docker-build: needs: nix-flake-check runs-on: debian-latest-arm @@ -92,24 +74,20 @@ jobs: - name: Install prerequisites run: apt update && apt install -y sudo zstd - - name: "Cache Nix store" - uses: actions/cache@v3.0.8 - id: nix-cache - with: - path: /tmp/nixcache - key: "dref-cache-arm-v1" - - name: Install Nix - uses: https://github.com/cachix/install-nix-action@v22 - with: - extra_nix_config: "experimental-features = nix-command flakes" - nix_path: nixpkgs=channel:nixos-23.05 + uses: https://github.com/nixbuild/nix-quick-install-action@v25 + - name: Remove access_tokens run: sed -i '/^access-tokens/d' /etc/nix/nix.conf - - name: "Import Nix store cache" - if: "steps.nix-cache.outputs.cache-hit == 'true'" - run: "nix-store --import < /tmp/nixcache" + - name: Restore and cache Nix store + uses: https://github.com/nix-community/cache-nix-action@v1 + with: + linux-gc-enabled: true + linux-max-store-size: 536870912 + key: cache-${{ matrix.os }}-${{ hashFiles('**/*') }} + restore-keys: | + cache-${{ matrix.os }} - name: Check out repository uses: actions/checkout@v3.5.3 @@ -122,7 +100,3 @@ jobs: nix-env -i skopeo -f '' wget https://raw.githubusercontent.com/containers/skopeo/main/default-policy.json && mkdir /etc/containers && mv default-policy.json /etc/containers/policy.json skopeo copy docker-archive:result docker://icr.gmem.ca/dref:arm - - - name: "Export Nix store cache" - if: "steps.nix-cache.outputs.cache-hit != 'true'" - run: "nix-store --export $(find /nix/store -maxdepth 1 -name '*-*') > /tmp/nixcache"