From 36b54a08d6a7f40d868d0943ea7572236f57eef8 Mon Sep 17 00:00:00 2001 From: Thomas SharedInbox Date: Wed, 20 May 2026 20:02:44 +0200 Subject: [PATCH] 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 --- Taskfile.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Taskfile.yml b/Taskfile.yml index 2c03584..5a90570 100644 --- a/Taskfile.yml +++ b/Taskfile.yml @@ -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