Skip to content

Repeated tarball download timeouts for external repos consuming gh-aw actions #20483

@DimaBir

Description

@DimaBir

Summary

External repositories using gh-aw compiled workflows are experiencing repeated tarball download timeouts when the GitHub Actions runner tries to fetch github/gh-aw during the "Prepare all required actions" phase.

Affected Run

Error

The runner timed out 3 times (100s HttpClient.Timeout each) trying to download the tarball:

Download action repository 'github/gh-aw@9382be3ca9ac18917e111a99d4e6bbff58d0dccc' ##[warning]Failed to download action 'https://api.github.com/repos/github/gh-aw/tarball/9382be3ca9ac18917e111a99d4e6bbff58d0dccc'. Error: The request was canceled due to the configured HttpClient.Timeout of 100 seconds elapsing. ##[warning]Back off 12.736 seconds before retry. ##[warning]Failed to download action ... (2nd attempt, same error) ##[error]Action download has timed out. (3rd attempt, same error)

Related Issues

Suggested Mitigations

  1. Reduce tarball size — Use .gitattributes with export-ignore to exclude tests, docs, and other non-essential files from the tarball that runners download.
  2. CDN caching — Ensure the tarball endpoint is served from a CDN with proper caching headers so repeated downloads are fast.
  3. Publish slim action packages — Consider publishing the actions/setup directory as a standalone action repo (or use a separate lightweight ref) rather than requiring runners to download the entire gh-aw monorepo tarball.

Impact

This is a transient but recurring issue that causes workflow failures in external consumer repos. Since the .lock.yml is auto-generated and cannot be edited, consumers have no way to add retries, caching, or workarounds at the workflow level. The only mitigation available is adding a separate retry workflow that re-runs failed jobs.

/cc @dsyme (filed #12543 on related performance concerns)

Metadata

Metadata

Assignees

No one assigned

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions