From 65b188ed1973deab32d06c822300e8ad7660feff Mon Sep 17 00:00:00 2001 From: AnthonyGuillauma Date: Sat, 5 Apr 2025 17:21:49 +0200 Subject: [PATCH] CI: Mise en place des workflows sur des pull requests - Mise en place du workflow de la documentation sur une pull request vers la branche main - Mise en place du workflow des tests unitaires sur une pull request vers la branche main ou develop - Mise en place du workflow de la qualite du code sur une pull request vers la branche main ou develop - Ajout de commentaires sur les workflows --- .github/workflows/documentation.yaml | 15 +++++++++++---- .github/workflows/qualite.yaml | 8 +++++++- .github/workflows/tests.yaml | 3 ++- 3 files changed, 20 insertions(+), 6 deletions(-) diff --git a/.github/workflows/documentation.yaml b/.github/workflows/documentation.yaml index 7979dd1..d47ea1c 100644 --- a/.github/workflows/documentation.yaml +++ b/.github/workflows/documentation.yaml @@ -3,26 +3,30 @@ name: Documentation - LogBuster on: push: branches: - - develop + - main +# Permissions (lecture et écriture sur la GitHub Page) permissions: contents: read pages: write - id-token: write # Nécessaire pour déployer sur GitHub Pages + id-token: write jobs: build: runs-on: ubuntu-latest steps: + # Etape 1: Cloner le dépôt - name: Positionnement sur le dépôt uses: actions/checkout@v4 + # Étape 2 : Installer Python - name: Mis en place de Python uses: actions/setup-python@v4 with: python-version: '3.x' + # Étape 3 : Installer les dépendances - name: Installation des dépendances run: | python -m pip install --upgrade pip @@ -30,14 +34,16 @@ jobs: pip install sphinx_rtd_theme --break-system-packages pip install colorama + # Étape 4 : Générer la documentation - name: Construction de la documentation (avec Sphinx) run: | sphinx-build -b html docs/source docs/build/html - - name: Publication la documentation générée + # Étape 5 : Sauvegarder l'artefact (pour la GitHub Page) + - name: Sauvegarder la documentation uses: actions/upload-pages-artifact@v3 with: - path: docs/build/html # Dossier contenant la doc générée + path: docs/build/html deploy: needs: build @@ -47,6 +53,7 @@ jobs: url: ${{ steps.deployment.outputs.page_url }} steps: + # Déploiement de la documentation - name: Deploy to GitHub Pages id: deployment uses: actions/deploy-pages@v4 \ No newline at end of file diff --git a/.github/workflows/qualite.yaml b/.github/workflows/qualite.yaml index 0dae2ee..6e6ad7b 100644 --- a/.github/workflows/qualite.yaml +++ b/.github/workflows/qualite.yaml @@ -1,8 +1,9 @@ name: Qualité code - LogBuster on: - push: + pull_request: branches: + - main - develop jobs: @@ -10,20 +11,24 @@ jobs: runs-on: ubuntu-latest steps: + # Étape 1 : Cloner le dépôt - name: Checkout du code uses: actions/checkout@v4 + # Étape 2 : Installer Python - name: Configuration de Python uses: actions/setup-python@v4 with: python-version: '3.x' + # Étape 3 : Installer les dépendances - name: Installation des dépendances run: | python -m pip install --upgrade pip pip install pylint pip install colorama + # Étape 4 : Lancement de l'analyse - name: Analyse avec Pylint (note >= 9.0 requise) run: | pylint app > tests-resultats-qualite.txt || true @@ -35,6 +40,7 @@ jobs: exit 1 fi + # Sauvegarder l'artefact - name: Upload du rapport Pylint uses: actions/upload-artifact@v4 with: diff --git a/.github/workflows/tests.yaml b/.github/workflows/tests.yaml index e400e16..13b33c9 100644 --- a/.github/workflows/tests.yaml +++ b/.github/workflows/tests.yaml @@ -1,8 +1,9 @@ name: Tests unitaires - LogBuster on: - push: + pull_request: branches: + - main - develop # Permissions (lecture uniquement)