From fe574f1cd84e4b572c3d98f195bc7ca6a4e325bd Mon Sep 17 00:00:00 2001 From: Garry Tan Date: Mon, 23 Mar 2026 06:56:32 -0700 Subject: [PATCH] fix: symlink node_modules instead of hardlink (cross-device) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Docker image layers and workspace are on different filesystems, so cp -al (hardlink) fails. Use ln -s (symlink) instead — zero copy overhead. Co-Authored-By: Claude Opus 4.6 (1M context) --- .github/workflows/evals.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/evals.yml b/.github/workflows/evals.yml index 2a7009d5..2da62b5a 100644 --- a/.github/workflows/evals.yml +++ b/.github/workflows/evals.yml @@ -95,12 +95,12 @@ jobs: with: fetch-depth: 0 - # Restore pre-installed node_modules from Docker image (~1s vs ~15s install) + # Restore pre-installed node_modules from Docker image via symlink (~0s vs ~15s install) # If package.json changed since image was built, fall back to fresh install - name: Restore deps run: | if [ -d /opt/node_modules_cache ] && diff -q /opt/node_modules_cache/.package.json package.json >/dev/null 2>&1; then - cp -al /opt/node_modules_cache node_modules + ln -s /opt/node_modules_cache node_modules else bun install fi