fix(ci): use --kill-after=10 on timeout so dagger is SIGKILLed if it ignores SIGTERM

dagger ignores SIGTERM, keeping the pipe's write end open; tee can never
get EOF and the script hangs. --kill-after=10 follows up with SIGKILL which
closes the pipe and unblocks the script.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Thomas SharedInbox
2026-05-20 20:02:44 +02:00
co-authored by Claude Sonnet 4.6
parent 4a99d47aa5
commit 36b54a08d6
+1 -1
View File
@@ -260,7 +260,7 @@ tasks:
# Run dagger with timeout; capture output for retry/teardown-hang detection.
run_dagger() {
: > "$DAGGER_OUT"; : > "$RC_FILE"
{ timeout 600 "$@"; echo $? > "$RC_FILE"; } 2>&1 | tee "$DAGGER_OUT"
{ timeout --kill-after=10 600 "$@"; echo $? > "$RC_FILE"; } 2>&1 | tee "$DAGGER_OUT"
RC=$(cat "$RC_FILE" 2>/dev/null || echo 1)
if [ "$RC" -eq 124 ] && grep -q "All tests passed" "$DAGGER_OUT"; then
echo "Note: dagger hung in teardown after success; treating as exit 0." >&2