ci: corriger l'origine admin, le timeout et les diagnostics du job e2e-admin - #19
Open
jeremie0342 wants to merge 2 commits into
Open
ci: corriger l'origine admin, le timeout et les diagnostics du job e2e-admin#19jeremie0342 wants to merge 2 commits into
jeremie0342 wants to merge 2 commits into
Conversation
`master` est rouge depuis que ce job s'exécute pour de vrai : l'image
backend est bien publiée et démarre, mais panique avant d'écouter.
GeoService::load(Path::new("data")).expect("Failed to load GeoNames…")
Le chemin est relatif au WORKDIR `/app`, l'image n'embarque pas ce dossier
— les fichiers sont téléchargés au setup — et l'échec est fatal. Le
healthcheck n'aboutit donc jamais et le job tombe après deux minutes.
On télécharge `countryInfo.txt` et `cities1000.txt` (les deux seuls
fichiers que `GeoService::load` ouvre), on les met en cache, et on les
monte en lecture seule sur `/app/data`.
C'est un contournement côté CI : le correctif de fond appartient au
backend, qui ne devrait pas refuser de démarrer faute d'une donnée
d'autocomplétion. Suivi en SKI-294 ; ces deux étapes disparaîtront avec.
…e-admin Trois défauts de ce job, révélés dès qu'il a pu s'exécuter pour de vrai. **Origine.** `ADMIN_ORIGINS` ne contenait que `http://localhost:5174`, alors que le navigateur de Playwright charge `http://127.0.0.1:5174` — le `baseURL` de playwright.config.ts. Pour `admin_gate` ce sont deux origines distinctes, et toute écriture repartait en 401. Les deux formes sont désormais listées. **Timeout.** Les 20 minutes avaient été posées quand le job mourait au healthcheck : la valeur n'avait jamais mesuré une exécution réelle. Les 85 tests du projet admin contre un vrai backend n'y tiennent pas — le run a été coupé en plein milieu. Porté à 35. **Diagnostics.** Le dump des logs backend était en `if: failure()`. Une annulation par timeout n'est pas un échec au sens de GitHub, donc l'étape a été sautée sur le seul run qui en avait besoin : ni logs ni rapport pour comprendre. Passé en `always()`. Le contournement GeoNames de la version précédente de cette branche est retiré : c'est au backend de ne pas refuser de démarrer faute d'une donnée d'autocomplétion (SKI-294, en cours). Le job reste donc rouge jusqu'à ce correctif, et le commentaire d'en-tête dit maintenant pourquoi.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Trois défauts du job
e2e-admin, révélés dès qu'il a pu s'exécuter pour de vrai. Aucun ne concerne le backend.Origine — la cause des 401.
ADMIN_ORIGINSne contenait quehttp://localhost:5174, alors que le navigateur de Playwright chargehttp://127.0.0.1:5174(lebaseURLdeplaywright.config.ts). Pouradmin_gatece sont deux origines distinctes, et toute écriture repartait en 401 — d'où la cascade d'« element not found » qui suivait. Les deux formes sont désormais listées.Timeout. Les 20 minutes dataient de l'époque où le job mourait au healthcheck : la valeur n'avait jamais mesuré une exécution réelle. Les 85 tests contre un vrai backend n'y tiennent pas, le run a été coupé en plein milieu. Porté à 35.
Diagnostics. Le dump des logs backend était en
if: failure(). Une annulation par timeout n'est pas un échec au sens de GitHub : l'étape a été sautée sur le seul run qui en avait besoin, me laissant sans logs ni rapport. Passé enalways().Le contournement GeoNames de la première version de cette branche est retiré. Il avait servi à prouver le diagnostic —
backend ready after 3sune fois les fichiers fournis — mais le correctif appartient au backend : un service ne doit pas refuser de démarrer faute d'une donnée d'autocomplétion. C'est SKI-294, en cours, déploiement attendu demain.Le job reste donc rouge jusque-là, et le commentaire d'en-tête dit maintenant pourquoi. La correction de l'origine ne pourra être vérifiée qu'une fois le backend capable de démarrer.