fix(ci): e2e DinD par DNS réseau — fin du blocage 'Start ObsiGate' #60

Merged
bruno merged 4 commits from fix/ci-e2e-resseau-dns into main 2026-11-03 14:08:37 -05:00
Owner

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.

**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.
bruno added 1 commit 2026-11-03 08:44:30 -05:00
fix(ci): e2e joint l'app par DNS de réseau (DinD), plus de port publié ni curls sans timeout
CI / security (pull_request) Failing after 2s
CI / lint (pull_request) Successful in 1m35s
CI / test (pull_request) Successful in 3m47s
CI / build (pull_request) Successful in 15s
CI / e2e (pull_request) Failing after 30m52s
9037f2dd69
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.
bruno added 1 commit 2026-11-03 09:26:50 -05:00
test(e2e): helpers ne dépendent plus du signal __OBSIGATE_BOOTED retiré (bfe0c75)
CI / security (pull_request) Failing after 2s
CI / lint (pull_request) Successful in 1m18s
CI / test (pull_request) Successful in 3m35s
CI / build (pull_request) Successful in 12s
CI / e2e (pull_request) Failing after 31m42s
ca367b6918
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).
bruno added 1 commit 2026-11-03 09:59:28 -05:00
ci(wip): runs-on ci-deepin — contournement régression extraction moby 29.x du runner VM (à retirer quand daemon VM réparé)
CI / security (pull_request) Successful in 24s
CI / lint (pull_request) Successful in 1m39s
CI / test (pull_request) Successful in 3m36s
CI / build (pull_request) Successful in 14s
CI / e2e (pull_request) Failing after 30m53s
b87ac72d78
bruno added 1 commit 2026-11-03 11:17:38 -05:00
fix(e2e): z-index barre résultats au-dessus de la barre DRACO + signal de boot du spec .ts
CI / lint (pull_request) Successful in 1m19s
CI / security (pull_request) Successful in 20s
CI / test (pull_request) Successful in 3m35s
CI / build (pull_request) Successful in 22s
CI / e2e (pull_request) Successful in 16m22s
e28a537f79
- 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 main 2026-11-03 14:08:37 -05:00
bruno deleted branch fix/ci-e2e-resseau-dns 2026-11-03 14:08:39 -05:00
Sign in to join this conversation.
No Reviewers
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Projets/ObsiGate#60