From f3fa5fcf13b33033f68adb1f857c73922ef0ba90 Mon Sep 17 00:00:00 2001 From: mayor Date: Thu, 12 Feb 2026 21:14:20 -0800 Subject: [PATCH] ci: add GC roots to prevent cached packages from being collected Creates symlinks in /nix/var/nix/gcroots/ci-cache/ for each pushed package --- .gitea/workflows/ci.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.gitea/workflows/ci.yml b/.gitea/workflows/ci.yml index 6d21e9c..d84b806 100644 --- a/.gitea/workflows/ci.yml +++ b/.gitea/workflows/ci.yml @@ -63,5 +63,10 @@ jobs: # Push to cache nix copy --to "ssh-ng://${{ secrets.CACHE_USER }}@${{ secrets.CACHE_HOST }}?ssh-key=$HOME/.ssh/cache_key" "${{ steps.build.outputs.out_path }}" + + # Create GC root to prevent garbage collection + OUT_HASH=$(basename "${{ steps.build.outputs.out_path }}" | cut -d'-' -f1) + ssh -i ~/.ssh/cache_key ${{ secrets.CACHE_USER }}@${{ secrets.CACHE_HOST }} \ + "mkdir -p /nix/var/nix/gcroots/ci-cache && ln -sfn ${{ steps.build.outputs.out_path }} /nix/var/nix/gcroots/ci-cache/${OUT_HASH}" env: NIX_CONFIG: "access-tokens = git.johnogle.info=${{ secrets.GITEA_ACCESS_TOKEN }}"