Skip to content

🐛 fix(docker): rĂ©essayer composer install face aux 400 intermittents de codeload#6

Merged
Labault merged 1 commit into
mainfrom
fix/composer-install-retry
Jun 28, 2026
Merged

🐛 fix(docker): rĂ©essayer composer install face aux 400 intermittents de codeload#6
Labault merged 1 commit into
mainfrom
fix/composer-install-retry

Conversation

@Labault

@Labault Labault commented Jun 28, 2026

Copy link
Copy Markdown
Owner

Contexte

Le push-to-deploy de FridayDuck vient d'ĂȘtre cĂąblĂ© (webhook + deploy key read-only + entrĂ©e projects.conf). Premier dĂ©ploiement dĂ©clenchĂ© correctement, mais le build a Ă©chouĂ© sur composer install :

The "https://codeload.github.com/.../legacy.zip/..." file could not be downloaded (HTTP/2 400)
Source fallback is disabled. Not trying alternative sources.

Diagnostic

codeload.github.com renvoie des HTTP 400 intermittents par vagues depuis le VPS (~40-60 % d'Ă©chec pendant une mauvaise fenĂȘtre, 0 % autrement) — confirmĂ© hors Docker, GitHub « All Systems Operational », indĂ©pendant de HTTP/1.1 vs HTTP/2 et d'IPv4. C'est un alĂ©a rĂ©seau, pas un incident GitHub.

Le build enchaĂźne ~94 tĂ©lĂ©chargements ; comme le fallback source est dĂ©sactivĂ©, composer abandonne au premier ratĂ© et casse tout le build — donc le dĂ©ploiement automatique.

Correctif

Boucle de 5 tentatives espacées de 5 s autour de composer install. exit 1 explicite aprÚs le dernier essai pour que le build échoue vraiment si le réseau reste KO (sinon le sleep final masquerait l'échec sous set -e).

Validation

  • hadolint : aucun nouvel avertissement (le seul DL3059 est prĂ©existant, ligne 191).
  • DĂ©ploiement manuel dĂ©jĂ  rĂ©ussi pendant une fenĂȘtre rĂ©seau calme ({"status":"ok","db":"up","version":"f3661e1"}). Ce correctif Ă©vite que la prochaine vague de 400 ne casse un dĂ©ploiement automatique.

đŸ€– Generated with Claude Code


de codeload

codeload.github.com renvoie par vagues des HTTP 400 (réseau, pas un incident
GitHub) ; comme le fallback source est désactivé, composer abandonne au premier
tĂ©lĂ©chargement ratĂ© et casse tout le build — donc le push-to-deploy.

Cinq tentatives espacĂ©es de 5 s suffisent Ă  franchir une mauvaise fenĂȘtre.
`exit 1` explicite aprÚs le dernier essai pour que le build échoue vraiment si
le réseau reste KO (sans ça, le `sleep` final masquerait l'échec sous `set -e`).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@Labault Labault merged commit d2984ea into main Jun 28, 2026
8 of 12 checks passed
@Labault Labault deleted the fix/composer-install-retry branch June 28, 2026 20:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant