GitHub Actions setup action "Failed to download" (network)
A setup-* action downloads a toolchain from an upstream host (or the tools cache). A transient network error or upstream 5xx aborts the download. On Latchkey managed runners, transient toolchain-download failures are auto-retried and warm pools keep common toolchains pre-cached.
What this error means
A setup step (Node, Go, Python, Java) fails while fetching the toolchain archive with a network or HTTP error.
Error: Failed to download version 20.11.1 from https://nodejs.org/dist/v20.11.1/node-v20.11.1-linux-x64.tar.gz
Error: read ECONNRESETCommon causes
Transient upstream or network error
The download host returned a 5xx, timed out, or the connection reset mid-transfer.
Version not in the tools cache
An exact version missing from the runner cache forces a remote download that can fail transiently.
How to fix it
Retry and prefer cached versions
- Re-run the job; transient download failures usually clear.
- Pin to a version present in the runner tools cache when possible to avoid remote fetches.
- For flaky upstreams, wrap the setup in a retry action.
- uses: actions/setup-node@v4
with:
node-version: '20'
check-latest: falseHow to prevent it
- Prefer toolchain versions cached on the runner image.
- Wrap flaky network setup steps in a retry helper.