diff --git a/action.yml b/action.yml index f4f8fed..420cadc 100644 --- a/action.yml +++ b/action.yml @@ -213,7 +213,8 @@ runs: for attempt in 1 2 3; do echo "Installation attempt $attempt..." if command -v timeout &> /dev/null; then - timeout 120 bash -c "curl -fsSL https://claude.ai/install.sh | bash -s -- $CLAUDE_CODE_VERSION" && break + # Use --foreground to kill entire process group on timeout, --kill-after to send SIGKILL if SIGTERM fails + timeout --foreground --kill-after=10 120 bash -c "curl -fsSL https://claude.ai/install.sh | bash -s -- $CLAUDE_CODE_VERSION" && break else curl -fsSL https://claude.ai/install.sh | bash -s -- "$CLAUDE_CODE_VERSION" && break fi diff --git a/base-action/action.yml b/base-action/action.yml index b0e866e..97016b7 100644 --- a/base-action/action.yml +++ b/base-action/action.yml @@ -129,7 +129,8 @@ runs: for attempt in 1 2 3; do echo "Installation attempt $attempt..." if command -v timeout &> /dev/null; then - timeout 120 bash -c "curl -fsSL https://claude.ai/install.sh | bash -s -- $CLAUDE_CODE_VERSION" && break + # Use --foreground to kill entire process group on timeout, --kill-after to send SIGKILL if SIGTERM fails + timeout --foreground --kill-after=10 120 bash -c "curl -fsSL https://claude.ai/install.sh | bash -s -- $CLAUDE_CODE_VERSION" && break else curl -fsSL https://claude.ai/install.sh | bash -s -- "$CLAUDE_CODE_VERSION" && break fi