From f0b28c81c0a7e29260e7750763841b8cb94634b4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20M=C3=BCller?= Date: Mon, 14 Sep 2026 15:55:52 +0000 Subject: [PATCH] :loud_sound: Log tool-cache state in the CI build job The custom image provably carries /opt/hostedtoolcache/node/26.8.2/x64/bin/node (ls inside the image confirms the layout, modes and the 150 MB binary), yet setup-node still downloads. So the miss is runtime-only: either the runner is not running that image or something shadows the path inside the job container. This step prints mounts, the tool-cache listing, a direct node -v from the baked path and the RUNNER_* env, then setup-node runs unchanged. Temporary: remove once the cause is known. --- .gitea/workflows/ci.yml | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/.gitea/workflows/ci.yml b/.gitea/workflows/ci.yml index f5bf33f..2e35e8f 100644 --- a/.gitea/workflows/ci.yml +++ b/.gitea/workflows/ci.yml @@ -63,6 +63,22 @@ jobs: - /data/gitea-pages:/data/gitea-pages steps: - uses: actions/checkout@v4 + # TEMPORARY (remove once understood): the image provably carries + # the tool-cache entry (verified with `docker run --rm ls + # /opt/hostedtoolcache/node/26.8.2/x64/bin`), yet setup-node still + # downloads. Print what the job container actually sees at + # runtime, mounts first — a mount over /opt/hostedtoolcache would + # hide the baked directory from the probe. + - name: Tool cache diagnostics + run: | + id + grep -E 'hostedtoolcache|workspace|overlay' /proc/mounts || true + ls -la /opt/hostedtoolcache || true + ls -la /opt/hostedtoolcache/node || true + ls -la "/opt/hostedtoolcache/node/$(tr -d '[:space:]' < .node-version)/x64/bin" || true + "/opt/hostedtoolcache/node/$(tr -d '[:space:]' < .node-version)/x64/bin/node" -v || true + env | grep -iE 'RUNNER|TOOL|CACHE' || true + head -2 /etc/os-release - uses: actions/setup-node@v4 with: node-version-file: .node-version