diff --git a/Dockerfile b/Dockerfile index c6873c1..01f96ed 100644 --- a/Dockerfile +++ b/Dockerfile @@ -112,7 +112,16 @@ COPY --link frankenphp/conf.d/20-app.prod.ini $PHP_INI_DIR/app.conf.d/ # Installer les vendors d'abord (cache des couches inchangées) puis le code. COPY --link composer.* symfony.* ./ -RUN composer install --no-cache --prefer-dist --no-dev --no-autoloader --no-scripts --no-progress +# Retry : codeload.github.com renvoie par vagues des HTTP 400 intermittents +# (réseau, pas un incident GitHub) ; composer abandonne au 1er échec car le +# fallback source est désactivé. Cinq tentatives espacées suffisent à franchir +# une mauvaise fenêtre et fiabilisent le build (donc le push-to-deploy). +RUN for i in 1 2 3 4 5; do \ + composer install --no-cache --prefer-dist --no-dev --no-autoloader --no-scripts --no-progress && exit 0; \ + echo "composer install : échec, nouvelle tentative ${i}/5…" >&2; \ + sleep 5; \ + done; \ + echo "composer install : échec après 5 tentatives — abandon." >&2; exit 1 COPY --link . ./ # Assets compilés depuis le stage Node (entrypoints.json lu par pentatrion/vite-bundle).