Skip to content

Dev - #123

Merged
magicgg91 merged 2 commits into
mainfrom
dev
Sep 14, 2026
Merged

Dev#123
magicgg91 merged 2 commits into
mainfrom
dev

Conversation

@magicgg91

Copy link
Copy Markdown
Owner

No description provided.

claude and others added 2 commits September 14, 2026 11:41
…nstruire

Diagnostic (run 34835198084, commit 065ed7a sur main). L'erreur exacte,
dans les logs de l'étape :

    Container ml-helper-app-1  Error response from daemon:
    No such image: ghcr.io/magicgg91/ml-helper:dev

Le conteneur n'a donc jamais démarré : ce n'est ni un healthcheck qui
échoue, ni un timeout. L'étape a duré moins d'une seconde (10:59:11 →
10:59:11), loin des 180 s de `--wait-timeout`, et « Show Docker Compose
logs on failure » n'a rien affiché — il n'y avait aucun conteneur.

Cause : le job construit et charge `:latest` sur main, `:dev` ailleurs,
mais l'étape Compose ne passait pas `ML_HELPER_IMAGE`. Compose retombait
donc sur son propre défaut, `:dev` (docker-compose.yml), avec
`--pull never`. Sur dev les deux chaînes coïncidaient par hasard ; sur
main elles divergent, et l'image demandée n'avait jamais existé sur le
runner.

Jamais vu avant parce que ce chemin n'avait jamais été emprunté :
l'étape Compose et la variable ML_HELPER_IMAGE sont arrivées ensemble le
2026-09-02 (ccc1481), et le dernier push sur main avant celui-ci datait
du 2026-08-31. Ce run est la première exécution de cette étape sur main.

Aucun secret ni variable d'environnement ne manque : l'étape fait
`touch .env`, toutes les variables du compose ont un défaut `:-`, le
login ghcr a réussi, et l'échec précède de toute façon toute lecture
d'environnement.

Correctif : nommer l'image une seule fois, au niveau du job, sous le nom
que Compose lit lui-même (ML_HELPER_IMAGE). Les quatre étapes (build,
vérification de démarrage, Compose, push) s'y réfèrent, donc les deux
fichiers ne peuvent plus diverger. Le défaut `:dev` de
docker-compose.yml reste inchangé — il est documenté dans README.md.

La description du statut GitHub publié en cas d'échec accusait la santé
du conteneur pour un conteneur qui n'avait jamais démarré ; elle couvre
maintenant les deux cas.

Reproduction locale, à l'identique : avec seulement `:latest` en local
(ce que fait le job sur main), `docker compose up -d --pull never` sort
le même « No such image: ghcr.io/magicgg91/ml-helper:dev » ; en passant
ML_HELPER_IMAGE, l'erreur disparaît. L'image réelle n'a pas pu être
construite ici (la politique réseau de l'environnement bloque le pull
des images de base Docker Hub), donc le passage jusqu'à « healthy » reste
à confirmer par le prochain push sur main.

Test : src/foundation.test.ts épingle le lien entre les deux fichiers —
Compose lit bien ${ML_HELPER_IMAGE:-}, le workflow le définit, et le tag
n'est écrit qu'une fois hors commentaires. Contre-vérifié : retirer la
variable rougit 2 tests, remettre un tag en dur dans une étape en rougit 1.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HJgsDSfsCbbn8cochFGwe2
Bloc 97 — 🐛 CI : « Verify Docker Compose health » rouge sur main (mauvaise image)
@magicgg91
magicgg91 merged commit 8c39179 into main Sep 14, 2026
5 checks passed
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.

2 participants