Durcir la CI : import strict, tests obligatoires, smoke test World (#14) #17

Merged
Reliodas merged 1 commit from feature/14-durcir-ci into develop 2026-06-19 20:28:31 +00:00
Owner

Closes #14.

Supprime les faux verts possibles de la CI (.woodpecker.yml).

Changements

  • Import bloquant : la sortie de godot --headless --import est inspectée ; toute SCRIPT ERROR/Parse Error fait échouer le pipeline (le garde test -d .godot reste pour le cache froid).
  • Suite obligatoire : aucune tests/**/test_*.gd ⇒ échec explicite (plus de skip silencieux qui masquerait une régression d'import des classes globales).
  • GUT : -gexit conservé (code non nul si échec) + rapport JUnit (-gjunit_xml_file, test_results.xml ajouté au .gitignore).
  • Smoke test headless tests/unit/test_boot.gd : démarrage sans erreur du menu principal et de World (tourne dans l'étape GUT, donc en CI).
  • Étape version-coherence conservée.

Critères d'acceptation

  • une erreur de parsing/import fait échouer le pipeline ;
  • une suite vide fait échouer le pipeline ;
  • un échec GUT remonte un code non nul (-gexit) ;
  • le menu principal et World démarrent en headless (smoke test) ;
  • le pipeline reste vert sur develop avec la suite complète.

Tests

Suite complète 106/106 (+2 boot). Import local propre, JUnit écrit.

Closes #14. Supprime les faux verts possibles de la CI (`.woodpecker.yml`). ## Changements - **Import bloquant** : la sortie de `godot --headless --import` est inspectée ; toute `SCRIPT ERROR`/`Parse Error` fait échouer le pipeline (le garde `test -d .godot` reste pour le cache froid). - **Suite obligatoire** : aucune `tests/**/test_*.gd` ⇒ échec explicite (plus de skip silencieux qui masquerait une régression d'import des classes globales). - **GUT** : `-gexit` conservé (code non nul si échec) + rapport **JUnit** (`-gjunit_xml_file`, `test_results.xml` ajouté au `.gitignore`). - **Smoke test headless** `tests/unit/test_boot.gd` : démarrage sans erreur du **menu principal** et de **World** (tourne dans l'étape GUT, donc en CI). - Étape `version-coherence` conservée. ## Critères d'acceptation - [x] une erreur de parsing/import fait échouer le pipeline ; - [x] une suite vide fait échouer le pipeline ; - [x] un échec GUT remonte un code non nul (`-gexit`) ; - [x] le menu principal et World démarrent en headless (smoke test) ; - [x] le pipeline reste vert sur develop avec la suite complète. ## Tests Suite complète **106/106** (+2 boot). Import local propre, JUnit écrit.
Reliodas added this to the 0.15.0 milestone 2026-06-19 20:26:38 +00:00
ci: durcit le pipeline (import strict, suite obligatoire, smoke test) (#14)
All checks were successful
ci/woodpecker/pr/woodpecker Pipeline was successful
ci/woodpecker/push/woodpecker Pipeline was successful
ci/woodpecker/pull_request_metadata/woodpecker Pipeline was successful
ci/woodpecker/pull_request_closed/woodpecker Pipeline was successful
70441ef096
Supprime les faux verts possibles de la CI.

- Import Godot bloquant : la sortie est inspectée et toute SCRIPT ERROR /
  Parse Error fait échouer le pipeline (le garde `test -d .godot` reste).
- Une suite de tests vide (aucun tests/**/test_*.gd) échoue explicitement,
  plutôt que d'être ignorée.
- GUT garde -gexit (code non nul si un test échoue) et écrit un rapport JUnit
  (test_results.xml, ajouté au .gitignore).
- Nouveau smoke test headless tests/unit/test_boot.gd : démarrage sans erreur
  du menu principal et de World (tourne dans l'étape GUT, donc en CI).
- Étape version-coherence conservée.

Suite complète 106/106.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Reliodas merged commit 7c068612dd into develop 2026-06-19 20:28:31 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: jeux/beaulieu-sur-brume#17
No description provided.