Problème : le job e2e pendait au step « Start ObsiGate » — boucle de curl -sfsans timeout vers $(passerelle):2029, IP/port souvent injoignables en Docker-in-Docker (port fuité par un run antérieur, passerelle non routable) → 150 s de blocage par tentative × 31.
plus de port publié : le conteneur obsigate-e2e est rattaché au réseau du job et joint par nom DNS embarqué (http://obsigate-e2e:8080) — pattern DinD standard, validé localement sur deepin (build + health 200 en ~2 s, résolution par nom OK) ;
--max-time 3 partout + dump docker logs en cas d'échec ( diagnosable au lieu de pendre) ;
mêmes changements dans « Run E2E tests » (BASE_URL nommée).
À noter hors-PR (déjà fait côté infra) : le job security échouait sur « all predefined address pools fully subnetted » = 19 réseaux GITEA-ACTIONS-TASK-* fuités sur dev.prod.home ; purgé (docker network prune, 33→14) + @daily docker network prune -f en cron root sur la VM. La suppression du port publié réduit aussi les causes de fuites de réseaux/ports.
Merge : Bruno/Muse uniquement — l'agent ne merge pas.
**Problème** : le job e2e pendait au step « Start ObsiGate » — boucle de `curl -sf` **sans timeout** vers `$(passerelle):2029`, IP/port souvent injoignables en Docker-in-Docker (port fuité par un run antérieur, passerelle non routable) → 150 s de blocage par tentative × 31.
**Correctif (workflow seulement, aucun code applicatif)** :
- plus de port publié : le conteneur `obsigate-e2e` est rattaché au **réseau du job** et joint par nom DNS embarqué (`http://obsigate-e2e:8080`) — pattern DinD standard, validé localement sur deepin (build + health 200 en ~2 s, résolution par nom OK) ;
- `--max-time 3` partout + dump `docker logs` en cas d'échec ( diagnosable au lieu de pendre) ;
- mêmes changements dans « Run E2E tests » (BASE_URL nommée).
**À noter hors-PR (déjà fait côté infra)** : le job security échouait sur « all predefined address pools fully subnetted » = 19 réseaux `GITEA-ACTIONS-TASK-*` fuités sur dev.prod.home ; purgé (`docker network prune`, 33→14) + `@daily docker network prune -f` en cron root sur la VM. La suppression du port publié réduit aussi les causes de fuites de réseaux/ports.
Merge : Bruno/Muse uniquement — l'agent ne merge pas.
Le step 'Start ObsiGate' pendait : boucle de health curls sans --max-time
vers l'IP passerelle:2029 (injoignable/port fuité par un run antérieur) =
150 s de blocage par tentative. L'app est désormais rattachée au réseau du
job et jointe par nom (obsigate-e2e:8080), avec timeout partout et dump
des logs container à l'échec.
bfe0c75 a retiré le splash et son signal de boot côté app sans adapter les
helpers des specs ; login() attendait window.__OBSIGATE_BOOTED → timeout
60 s × chaque test des 8 suites. Signal de rechange sans dépendance au
flag interne : document prêt ET premier .tree-item rendu (preuve que
l'init a lié données+handlers). Validé local : 14 passed sur les 3 suites
qui échouaient en CI (obsigate:ci v2.82.8, auth off, mêmes fixtures).
- obsigate.spec.ts attendait encore le flag __OBSIGATE_BOOTED retiré (même
cause que les 8 suites js, corrigée ici) ;
- .results-bar (z 50) était masquée par .draco-spark-flottant (z 65, même
position bas-centre) → « subtree intercepts pointer events » sur
#rb-next/#rb-case : 2 tests en timeout de clic. Bug d'UI réel (l'utilisateur
ne peut pas cliquer les flèches pendant qu'Spark flotte), corrigé par
z-index 66. Validé local : 2 passed en 10 s (au lieu de 2×60 s de timeout).
bruno
merged commit 52dcbf3607 into main2026-11-03 14:08:37 -05:00
bruno
deleted branch fix/ci-e2e-resseau-dns2026-11-03 14:08:39 -05:00
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Problème : le job e2e pendait au step « Start ObsiGate » — boucle de
curl -sfsans timeout vers$(passerelle):2029, IP/port souvent injoignables en Docker-in-Docker (port fuité par un run antérieur, passerelle non routable) → 150 s de blocage par tentative × 31.Correctif (workflow seulement, aucun code applicatif) :
obsigate-e2eest rattaché au réseau du job et joint par nom DNS embarqué (http://obsigate-e2e:8080) — pattern DinD standard, validé localement sur deepin (build + health 200 en ~2 s, résolution par nom OK) ;--max-time 3partout + dumpdocker logsen cas d'échec ( diagnosable au lieu de pendre) ;À noter hors-PR (déjà fait côté infra) : le job security échouait sur « all predefined address pools fully subnetted » = 19 réseaux
GITEA-ACTIONS-TASK-*fuités sur dev.prod.home ; purgé (docker network prune, 33→14) +@daily docker network prune -fen cron root sur la VM. La suppression du port publié réduit aussi les causes de fuites de réseaux/ports.Merge : Bruno/Muse uniquement — l'agent ne merge pas.
bfe0c75)