actions / actions/setup-python

Rate limits cause a hard failure instead of retry

Aperta
#1,232 5 commenti 1 reazione 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

feature request
Lingua principale
TypeScript
Stelle
2.2k
Fork
739
Merge medio
6g 18h
PR unite (30g)
1

Descrizione

Description:

This action fails when a GitHub API rate limit is encountered, e.g., https://github.com/astral-sh/uv/actions/runs/18688106891/job/53286544594

Run actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065
Installed versions
  GraalPy version 24.1 was not found in the local cache
  Error: API rate limit exceeded for installation. If you reach out to GitHub Support for help, please include the request ID 5841:12068:2A62DF:B7984D:68F7A08C and timestamp 2025-10-21 15:02:36 UTC. For more on scraping GitHub and how it may affect your rights, please review our Terms of Service (https://docs.github.com/en/site-policy/github-terms/github-terms-of-service)

GitHub's rate limits have recently been reduced, and we're seeing far more failures from this.

While I'd generally expect setup-python to avoid hitting a rate-limited API, I'd also expect it to retry on spurious HTTP errors and handle rate limiting, especially for a first-party API.

Action version:

5.6.0

Platform:

  • Ubuntu
  • macOS
  • Windows

Runner type:

  • Hosted
  • Self-hosted

Tools version:

Repro steps:

See description. Requires hitting a GitHub rate limit.

Expected behavior:

I expect the action to retry in a backoff, respecting the retry-after header.

Actual behavior:

The action hard fails.

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Direzione di ricerca

Inizia dal fallimento collegato del workflow setup-python e segui il percorso della richiesta all’API GitHub dell’action per l’installazione di Python. Riproduci la risposta di limitazione della frequenza, quindi verifica che l’action ritenti con backoff e rispetti l’header retry-after invece di fallire immediatamente.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
github-actions, typescript
Ambito
ci-cd
Tipo di issue
Bug
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Ferma
Chiarezza
Abbastanza chiara
Idoneità per principianti
48/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.