My App
CI/CD

Portes de qualité

Ce qui doit passer avant de merger, en local comme sur GitHub.

Une porte de qualité est une vérification qui doit passer avant qu'un changement ne rejoigne la branche principale. Vantablvck en applique quatre, aux deux bouts de la chaîne : sur la machine du développeur, et sur GitHub.

Les quatre portes

PorteOutilCe qui est vérifié
Lint et formatBiomeStyle, format, et nommage des fichiers en kebab-case
TypesNx et TypeScriptTypes de tous les projets, sauf l'app native gelée
TestsBunTests unitaires, à commencer par la logique de packages/core
BuildNxConstruction de tous les projets, sauf l'app native

Le nommage en kebab-case fait partie du lint : Biome refuse un fichier qui ne respecte pas la convention, sauf pour les fichiers imposés par les frameworks (routes Next et Expo).

La porte locale, avant le commit

Un hook Husky intercepte chaque commit et lance lint-staged, qui passe Biome sur les fichiers indexés. Le format et les corrections sûres sont appliqués avant que le commit ne parte. On attrape ainsi la plupart des problèmes sans attendre la CI.

# déclenché automatiquement par le hook pre-commit
bunx lint-staged

Erreurs contre warnings

biome ci distingue deux niveaux. Cette distinction décide de ce qui bloque un merge.

Une erreur fait échouer la CI et bloque le merge. Un warning est signalé mais ne bloque pas. Aujourd'hui, le lint sort en code 0 : il reste quelques warnings hérités du scaffold (imports inutilisés, assertions non nulles), sans erreur bloquante.

Ce qui est prévu

La suite de tests couvrira aussi le serveur. Des tests d'intégration piloteront l'API Elysia via app.handle, ce qui demandera un service PostgreSQL dans la CI. Cette porte s'ajoutera aux quatre existantes une fois le backend métier en place.

On this page