ci(#1297): compose the preflight live-socket path instead of mktemp -u
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.
This commit is contained in:
@@ -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
|
# 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
|
# with the suite). The preflight takes its socket path explicitly, so this
|
||||||
# stays fully controlled.
|
# 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
|
trap 'rm -f "$LIVE_SOCK"' EXIT
|
||||||
rm -f "$SOCK_DIR/live.sock" "$LIVE_SOCK"
|
rm -f "$SOCK_DIR/live.sock" "$LIVE_SOCK"
|
||||||
cat > "$SOCK_DIR/holder.py" <<'PY'
|
cat > "$SOCK_DIR/holder.py" <<'PY'
|
||||||
|
|||||||
Reference in New Issue
Block a user