27 lines
2.7 KiB
Markdown
27 lines
2.7 KiB
Markdown
---
|
|
issueRef: "#253"
|
|
version: 4
|
|
updatedBy: {"kind":"agent","agent_id":"a6c6ea12-bfc6-4bdc-8031-324102dfa34d"}
|
|
updatedAt: 1787552434207
|
|
---
|
|
# Git — décision de branche (2026-08-24)
|
|
|
|
- Branche de travail : `fix/253-opencode-tests-parallel-flakiness` (créée et checkout, base = tip develop `f303cc1`, inclut le merge #252 `4553e5d` — lignage exact où le flakiness a été observé).
|
|
- DevBackend : corrections sur cette branche (timeouts, fixtures `sleep`, isolation des tests à timing dans `crates/infrastructure/src/session/opencode.rs`). Commits : `test(opencode): …` (ou `fix(opencode): …` si du code produit est touché) `— #253`. Sans dégrader la couverture : les scénarios restent, seule la fiabilité change.
|
|
- QA : preuve = sérialisé toujours vert (`--test-threads=1`) **ET** exécution **parallèle** verte sur ≥5 runs consécutifs de `cargo test -p infrastructure --lib session::opencode` (le mode par défaut, celui qui flake). Consigner runs et sortie réelle dans ce carnet.
|
|
- Interdits : aucun push distant ; pas de merge/rebase vers `develop` sans l'agent Git. Fusion locale décidée par Git après QA verte.
|
|
- `scripts/restart-idea-over-ssh.sh` reste non suivi — ne pas le committer.
|
|
- Contexte : symptômes initiaux documentés dans le carnet #252 (section « Signalement QA » du 2026-08-24).
|
|
|
|
# Git — commits, merge et tag de build (2026-08-24, QA verte vérifiée)
|
|
|
|
Commits sur `fix/253-opencode-tests-parallel-flakiness` :
|
|
- `cd70a3c` test(opencode): fiabilisation de la suite en parallèle — écriture atomique des fixtures, gates par fichier au lieu de sleep, runtime dédié par test, timeout 5s — #253 (QA verte)
|
|
- `c05b671` chore(tickets): synchro du store local — carnet et statut #253
|
|
|
|
Merge local : **effectué** — `d9af4b5` merge(opencode) `--no-ff` dans `develop`.
|
|
|
|
Tag de build AppImage : **`v0.33.0`** (annoté) sur le commit de merge `d9af4b5` — build sur `develop` → incrément de `y` (dernier tag `v0.32.0`). **Branche finale de build : `develop` @ `d9af4b5`.** Aucun push (branche, tag, tout reste local).
|
|
|
|
Re-vérification indépendante par Git avant merge : 3 runs parallèles + 1 run sériel (`--test-threads=1`) de `cargo test -p infrastructure session::opencode` → 21 passed partout ; durée de la suite passée de ~1 s à ~0,06 s (suppression des `sleep` au profit de gates par fichier). Stratégie retenue (par DevBackend, validée par Git) : écriture atomique des scripts fixtures (tmp+fsync+rename), synchronisation déterministe par fichier de release au lieu de `sleep`, exécution des fixtures via `sh <script>`, runtime tokio dédié par test au lieu du runtime partagé `#[tokio::test]`, timeout d'événements live porté à 5 s (`LIVE_EVENT_TIMEOUT`). Couverture inchangée — mêmes 21 scénarios.
|