GitHub Action de validation pour les projets Floppa du cours GLO-2003.
Cette action valide que votre projet respecte les exigences de base avant la correction officielle. Elle ne remplace pas les tests de correction, mais vous aide a identifier les erreurs courantes.
Ajoutez le fichier .github/workflows/floppa-check.yml a votre repo :
name: Floppa Validation
on:
push:
branches: [main, develop]
pull_request:
branches: [main]
jobs:
validate:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: <ORG>/floppa-check-action@v1
with:
tp: '1'| Input | Requis | Default | Description |
|---|---|---|---|
tp |
oui | - | Numero du TP (1) |
level |
non | full |
static pour checks source seulement, full pour Docker + HTTP |
timeout |
non | 120 |
Timeout du health check en secondes |
| Check | Description |
|---|---|
| Dockerfile | Le Dockerfile n'a pas ete modifie |
| ServerBinding | Le serveur utilise 0.0.0.0 et non localhost |
| HealthEndpoint | Le endpoint /health existe dans le code |
| JavaVersion | Java 21 configure dans pom.xml |
| ExecPlugin | exec-maven-plugin present dans pom.xml |
| Check | Description |
|---|---|
| DockerBuild | L'image Docker build correctement |
| HealthCheck | GET /health retourne 200 |
| CreateSeller | POST /sellers retourne 201 + Location |
| CreateSeller.MissingParam | Champ manquant retourne 400 + MISSING_PARAMETER |
| CreateSeller.InvalidParam | Champ vide retourne 400 + INVALID_PARAMETER |
| CreateSeller.Underage | Vendeur mineur retourne 400 + INVALID_PARAMETER |
| GetSeller.NotFound | GET /sellers/inexistant retourne 404 + NOT_FOUND |
| GetSeller | GET /sellers/{id} retourne le bon schema |
| CreateProduct | POST /products retourne 201 + Location (avec X-Seller-Id) |
| CreateProduct.MissingParam | Champ manquant retourne 400 + MISSING_PARAMETER |
| CreateProduct.MinPrice | Prix < 1$ retourne 400 + INVALID_PARAMETER |
| CreateProduct.SellerNotFound | Vendeur inexistant retourne 404 + NOT_FOUND |
| GetSeller.WithProduct | GET /sellers/{id} inclut les produits crees |
Les resultats apparaissent dans :
- L'onglet Actions de votre repo GitHub (logs du workflow)
- Le Summary du workflow (tableau avec tous les checks)
Passer tous les checks ne garantit pas la note maximale a la correction officielle. Cette action verifie la structure de votre API (status codes, headers, schemas JSON) mais pas toute la logique metier.