AbdulElahGwaith's picture
Upload folder using huggingface_hub
88df9e4 verified
name: 'Retry command'
description: 'Retries any command with configurable attempts and delay'
inputs:
command:
description: 'The command to retry'
required: true
max_attempts:
description: 'Maximum number of retry attempts'
required: false
default: '12'
delay:
description: 'Delay between attempts in seconds'
required: false
default: '30'
runs:
using: 'composite'
steps:
- name: Retry command
shell: bash
run: |
# Generic retry function: configurable attempts and delay
retry_command() {
local max_attempts=${{ inputs.max_attempts }}
local delay=${{ inputs.delay }}
local attempt=1
local command="${{ inputs.command }}"
while [ $attempt -le $max_attempts ]; do
echo "Attempt $attempt/$max_attempts: Running command..."
echo "Command: $command"
if eval "$command"; then
echo "Command succeeded on attempt $attempt"
return 0
else
echo "Attempt $attempt failed"
if [ $attempt -lt $max_attempts ]; then
echo "Waiting $delay seconds before retry..."
sleep $delay
fi
fi
attempt=$((attempt + 1))
done
echo "Command failed after $max_attempts attempts"
return 1
}
retry_command