Files
kevinveenbirkenbachandClaude Opus 4.8 2b44d9f7f9 fix(test-e2e-cli): stage CLI test assets on the node and SPOT the node src dir
The per-role existence asserts and the test script path were controller paths evaluated on the remote swarm node (docker connection, node checkout under /opt/infinito-nexus), so every svc-runner swarm job failed on a stat that could never succeed. Assert both required assets in one localhost-delegated loop, stage roles/<app>/files/test onto the node, run the staged script, and delegate the optional defaults/vars probes to the controller (they silently skipped before). svc-runner's test reaches its sources via RUNNER_SRC_DIR (compose: INFINITO_SRC_DIR dev-container mount; swarm: node checkout). The node checkout path itself moves into a single source of truth: INFINITO_NODE_SRC_DIR in default.env, consumed by the bootstrap/copy scripts, the swarm-playwright target, and the swarm inventory extras.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-09 17:30:36 +02:00

20 lines
605 B
Bash
Executable File

#!/usr/bin/env bash
set -euo pipefail
: "${node:?node= must be set, e.g. node=swarm-mgr-01}"
if ! docker inspect --format '{{.State.Running}}' "${node}" 2>/dev/null | grep -q '^true$'; then
echo "ERROR: container '${node}' is not running. Run \`make swarm-zombie app=<id>\` first." >&2
exit 1
fi
repo_root="$(cd "$(dirname "$0")/../../../.." && pwd)"
cd "${repo_root}"
# shellcheck source=scripts/meta/env/load.sh
source "${repo_root}/scripts/meta/env/load.sh"
git ls-files -z -m -o --exclude-standard |
tar --null -cf - -T - |
docker exec -i "${node}" tar -C "${INFINITO_NODE_SRC_DIR:?}" -xpf -