From 8f36593b35b4fe38576e62617582fe40f1e59254 Mon Sep 17 00:00:00 2001 From: Clint Branham Date: Wed, 25 Mar 2026 17:22:00 -0500 Subject: [PATCH] fix: always use shared mount for WORK_DIR, never RUNNER_TEMP RUNNER_TEMP (/__w/_temp in CI) is container-local and invisible to the Docker host. Files written there can't be bind-mounted into sibling containers (answer server, storage). This was the root cause of the "not a directory" mount failures in CI. Removed RUNNER_TEMP from the WORK_DIR fallback chain. WORK_DIR now always defaults to CACHE_DIR/work (/opt/pve-integration/work/) which is on the shared mount visible to both the CI container and Docker host. Co-Authored-By: Claude Opus 4.6 (1M context) --- tests/infrastructure/scripts/run-integration.sh | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tests/infrastructure/scripts/run-integration.sh b/tests/infrastructure/scripts/run-integration.sh index 2e67e17..5a749c0 100755 --- a/tests/infrastructure/scripts/run-integration.sh +++ b/tests/infrastructure/scripts/run-integration.sh @@ -47,7 +47,10 @@ REPO_ROOT="$(cd "$INFRA_DIR/../.." && pwd)" # ── Defaults ──────────────────────────────────────────────────────── CACHE_DIR="${CACHE_DIR:-/opt/pve-integration}" -WORK_DIR="${WORK_DIR:-${RUNNER_TEMP:-$CACHE_DIR/work}}" +# Always use a path under CACHE_DIR (shared mount) so files are visible +# to sibling Docker containers. Do NOT use RUNNER_TEMP — it's container-local +# in CI and invisible to the Docker host. +WORK_DIR="${WORK_DIR:-$CACHE_DIR/work}" CONFIG_FILE="${CONFIG_FILE:-$WORK_DIR/config.json}" MODULE_ARTIFACT="${MODULE_ARTIFACT:-$REPO_ROOT/publish/netstandard2.0}" PVE_VERSIONS="${PVE_VERSIONS:-9 8}"