# ivuorinen/actions/common-retry ## Common Retry ### Description Standardized retry utility for network operations and flaky commands ### Inputs | name | description | required | default | |---------------------|---------------------------------------------------------------------|----------|---------------------| | `command` |
Command to execute with retry logic
| `true` | `""` | | `max-retries` |Maximum number of retry attempts
| `false` | `3` | | `retry-delay` |Initial delay between retries in seconds
| `false` | `5` | | `backoff-strategy` |Backoff strategy (linear, exponential, fixed)
| `false` | `exponential` | | `timeout` |Timeout for each attempt in seconds
| `false` | `300` | | `working-directory` |Working directory to execute command in
| `false` | `.` | | `shell` |Shell to use for command execution
| `false` | `bash` | | `success-codes` |Comma-separated list of success exit codes
| `false` | `0` | | `retry-codes` |Comma-separated list of exit codes that should trigger retry
| `false` | `1,2,124,126,127` | | `description` |Human-readable description of the operation for logging
| `false` | `Command execution` | ### Outputs | name | description | |-------------|---------------------------------------------------| | `success` |Whether the command succeeded (true/false)
| | `attempts` |Number of attempts made
| | `exit-code` |Final exit code of the command
| | `duration` |Total execution duration in seconds
| ### Runs This action is a `composite` action. ### Usage ```yaml - uses: ivuorinen/actions/common-retry@main with: command: # Command to execute with retry logic # # Required: true # Default: "" max-retries: # Maximum number of retry attempts # # Required: false # Default: 3 retry-delay: # Initial delay between retries in seconds # # Required: false # Default: 5 backoff-strategy: # Backoff strategy (linear, exponential, fixed) # # Required: false # Default: exponential timeout: # Timeout for each attempt in seconds # # Required: false # Default: 300 working-directory: # Working directory to execute command in # # Required: false # Default: . shell: # Shell to use for command execution # # Required: false # Default: bash success-codes: # Comma-separated list of success exit codes # # Required: false # Default: 0 retry-codes: # Comma-separated list of exit codes that should trigger retry # # Required: false # Default: 1,2,124,126,127 description: # Human-readable description of the operation for logging # # Required: false # Default: Command execution ```