Commit 59aca14
authored
Add retries to the install action for resilience (#2608)
## What
Make the `stellar/stellar-cli` install action resilient to transient
network failures by adding retries to its two network-dependent steps:
- **Binary download:** the `curl` call now retries up to 5 times with
backoff (`--retry 5 --retry-delay 5 --retry-connrefused
--retry-all-errors`), bounded by `--connect-timeout 30` and `--max-time
300`. The download now goes to a file (`$RUNNER_TEMP`) before being
extracted by `tar`, rather than piping `curl` straight into `tar`, so
that a retried transfer can safely restart without corrupting the tar
stream.
- **Attestation verification:** the `gh attestation verify` step, which
also hits the network, is now wrapped in a retry loop (5 attempts with
exponential backoff) before failing.
## Why
A single transient network blip previously failed the whole job — for
example [this rs-soroban-sdk
run](https://github.com/stellar/rs-soroban-sdk/actions/runs/27120352954/job/80046147824)
failed during the install step. With retries in place, a momentary
failure is retried instead of failing the build.
This mirrors the approach taken in
[stellar/actions#104](stellar/actions#104),
which added curl's built-in retry flags to harden a similar download
path.1 parent b4b050c commit 59aca14
1 file changed
Lines changed: 11 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
66 | 66 | | |
67 | 67 | | |
68 | 68 | | |
69 | | - | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
70 | 80 | | |
71 | 81 | | |
72 | 82 | | |
| |||
0 commit comments