# 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 ```