From 7b7b6ff4291bf22830f04ec674cbc85a2baabe38 Mon Sep 17 00:00:00 2001 From: fargo Date: Thu, 20 Aug 2026 12:51:24 -0500 Subject: [PATCH] ci(#1297): compose the preflight live-socket path instead of mktemp -u MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Pipeline 2562: the shell chain now reaches the preflight suite and dies at 'mktemp: : Invalid argument' — the CI image's mktemp dialect rejects 'mktemp -u /tmp/...XXXXXX.sock' (GNU accepts it locally, which is why the suite passed on dev hosts only). The path is now composed (/tmp/mosaic-preflight-$RANDOM-$$.sock): short enough for the 108-byte AF_UNIX bind limit (a repo-deep path fails with 'path too long', measured), unique per run, no pre-existing file, cleaned by the existing trap. Verified locally: suite passes, no /tmp residue. --- .../tools/fleet/test-agent-session-broker-preflight.sh | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/packages/mosaic/framework/tools/fleet/test-agent-session-broker-preflight.sh b/packages/mosaic/framework/tools/fleet/test-agent-session-broker-preflight.sh index 29bafc65..5f03ebd6 100755 --- a/packages/mosaic/framework/tools/fleet/test-agent-session-broker-preflight.sh +++ b/packages/mosaic/framework/tools/fleet/test-agent-session-broker-preflight.sh @@ -149,7 +149,12 @@ assert_not_contains "absent socket must not create a tmux session" "$log1" "TMUX # the live socket lives at a SHORT path under /tmp (unique per run, cleaned # with the suite). The preflight takes its socket path explicitly, so this # stays fully controlled. -LIVE_SOCK=$(mktemp -u /tmp/mosaic-preflight-XXXXXX.sock) +# A real unix socket at a SHORT absolute path (AF_UNIX limit is 108 bytes, +# so the repo-deep SOCK_DIR cannot host it). The name is composed, not +# `mktemp -u`: the CI image's mktemp dialect rejects that invocation +# (pipeline 2562: "mktemp: : Invalid argument"), and no pre-existing file is +# wanted anyway — the holder binds it fresh. +LIVE_SOCK="/tmp/mosaic-preflight-$RANDOM-$$.sock" trap 'rm -f "$LIVE_SOCK"' EXIT rm -f "$SOCK_DIR/live.sock" "$LIVE_SOCK" cat > "$SOCK_DIR/holder.py" <<'PY'