From 608f685a02eba4fb5e5b12c5d70805040bcbfa5c Mon Sep 17 00:00:00 2001 From: cnoble-may Date: Wed, 4 Mar 2026 12:06:26 +1300 Subject: [PATCH] Update action.yaml --- action.yaml | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/action.yaml b/action.yaml index a283373..14c4a23 100644 --- a/action.yaml +++ b/action.yaml @@ -62,6 +62,27 @@ runs: env: SAFE_CHAIN_NPM_MINIMUM_PACKAGE_AGE_EXCLUSIONS: "@linz/*,@linzjs/*,@basemaps/*" run: | - npm i -g @aikidosec/safe-chain - safe-chain setup-ci + set -Eeuo pipefail + + MAX_ATTEMPTS=5 + DELAY=5 # seconds + + echo "Installing @aikidosec/safe-chain globally with exponential backoff (max $MAX_ATTEMPTS attempts)..." + for ATTEMPT in $(seq 1 "$MAX_ATTEMPTS"); do + if npm install -g "@aikidosec/safe-chain"; then + echo "✅ @aikidosec/safe-chain installed successfully on attempt $ATTEMPT" + break + fi + if [[ "$ATTEMPT" -eq "$MAX_ATTEMPTS" ]]; then + echo "❌ Failed to install @aikidosec/safe-chain after $MAX_ATTEMPTS attempts" + exit 1 + fi + + echo "⚠️ Attempt $ATTEMPT failed. Retrying in $DELAYs..." + sleep "$DELAY" + DELAY=$(( DELAY * 2 )) # exponential backoff + done + + # Proceed with setup after successful install + safe-chain setup-ci