Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
| eadl:bloc3:dev_av:tests [2025/09/17 00:10] – [SpringBoot-GitHub] jcheron | eadl:bloc3:dev_av:tests [2025/09/17 00:41] (Version actuelle) – [SpringBoot-GitHub] jcheron | ||
|---|---|---|---|
| Ligne 18: | Ligne 18: | ||
| <sxh bash; | <sxh bash; | ||
| mvn -B -U -ntp test | mvn -B -U -ntp test | ||
| + | </ | ||
| + | |||
| + | === CI GitHub actions === | ||
| + | |||
| + | A mettre dans '' | ||
| + | Vérifiez : | ||
| + | * La version de java (17 ?) | ||
| + | * Le nom de la branche principale (master/ | ||
| + | |||
| + | <sxh yml; | ||
| + | name: CI • Tests (Maven) | ||
| + | |||
| + | on: | ||
| + | push: | ||
| + | branches: [ master ] | ||
| + | pull_request: | ||
| + | branches: [ master ] | ||
| + | |||
| + | concurrency: | ||
| + | group: ci-tests-${{ github.ref }} | ||
| + | cancel-in-progress: | ||
| + | |||
| + | jobs: | ||
| + | test: | ||
| + | runs-on: ubuntu-latest | ||
| + | strategy: | ||
| + | matrix: | ||
| + | java: [ ' | ||
| + | env: | ||
| + | MAVEN_OPTS: -XX: | ||
| + | MAVEN_ARGS: "" | ||
| + | |||
| + | steps: | ||
| + | - name: Checkout | ||
| + | uses: actions/ | ||
| + | |||
| + | - name: Set up Temurin JDK | ||
| + | uses: actions/ | ||
| + | with: | ||
| + | distribution: | ||
| + | java-version: | ||
| + | cache: maven | ||
| + | |||
| + | - name: Build & test | ||
| + | run: mvn -B -U -ntp $MAVEN_ARGS verify | ||
| + | |||
| + | - name: Upload test and coverage reports | ||
| + | if: always() | ||
| + | uses: actions/ | ||
| + | with: | ||
| + | name: test-reports-java-${{ matrix.java }} | ||
| + | path: | | ||
| + | **/ | ||
| + | **/ | ||
| + | **/ | ||
| + | retention-days: | ||
| + | |||
| + | </ | ||
| + | |||
| + | Le workflow : | ||
| + | * Se déclenche sur push et pull_request vers master. | ||
| + | * Installe JDK 17, restaure le cache Maven, compile et lance les tests (verify). | ||
| + | * Archive les rapports (téléchargeables depuis l’onglet “Actions” de Github). | ||
| + | |||
| + | === Couverture JaCoCo === | ||
| + | Ajoute la configuration JaCoCo+Surefire dans **pom.xml** : | ||
| + | |||
| + | Ajouter les numéros de version : | ||
| + | |||
| + | <sxh xml; | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | </ | ||
| + | </ | ||
| + | Ajouter les 2 plugins Maven suivants : | ||
| + | |||
| + | <sxh xml; | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | </ | ||
| + | </ | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | </ | ||
| + | </ | ||
| + | </ | ||
| + | </ | ||
| + | </ | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | Le rapport de couverture (téléchargeable via actions) : | ||
| + | |||
| + | < | ||
| + | {{: | ||
| + | < | ||
| + | |||
| + | === Seuil de couverture === | ||
| + | Ajout d'une exécution jacoco: | ||
| + | |||
| + | <sxh xml; | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | </ | ||
| + | </ | ||
| + | </ | ||
| + | </ | ||
| + | </ | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | === Bonnes pratiques CI === | ||
| + | * Protéger la branche master : | ||
| + | * Settings → Branches → Add rule → exiger le job “CI • Tests (Maven)” avant merge. | ||
| + | * Déclencheurs: | ||
| + | * Pour limiter le bruit: exécuter seulement sur PR ou sur changements Java/Maven: | ||
| + | |||
| + | <sxh yml; | ||
| + | on: | ||
| + | pull_request: | ||
| + | branches: [ master ] | ||
| + | paths: [ ' | ||
| </ | </ | ||