From 483f0837f328fdd0a4f5c512a4ce1b3c761eec89 Mon Sep 17 00:00:00 2001 From: Ronan Lenouvel Date: Fri, 2 Oct 2026 12:45:37 +0200 Subject: [PATCH 1/2] =?UTF-8?q?=F0=9F=91=B7=20ci(bash):=20ex=C3=A9cute=20t?= =?UTF-8?q?ests/bash/run.sh=20=C3=A0=20chaque=20PR=20et=20push=20sur=20mai?= =?UTF-8?q?n=20(#605)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/ci.yml | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index afd2d04c..8085308d 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -197,3 +197,16 @@ jobs: - name: 🧪 Run JS tests run: npm test --silent + + # Tests des scripts de déploiement (bin/deploy-*.sh, #605) : git/php/ssh/scp + # y sont mockés, aucun besoin de base de données ni de composer install. + # Ils ne tournaient pas en CI : 7 d'entre eux échouaient sur main depuis un + # correctif cassé (61ba614) sans que personne ne le voie (cf. #569, #570). + bash: + runs-on: ubuntu-latest + steps: + - name: 📥 Checkout code + uses: actions/checkout@v5 + + - name: 🐚 Run deploy scripts tests + run: bash tests/bash/run.sh From 7845a03ba2bac8b1f690396cf6a6613edaca9a97 Mon Sep 17 00:00:00 2001 From: Ronan Lenouvel Date: Fri, 2 Oct 2026 12:45:52 +0200 Subject: [PATCH 2/2] =?UTF-8?q?=F0=9F=93=9D=20docs(avancement):=20suivi=20?= =?UTF-8?q?#605=20tests=20bash=20en=20CI?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/avancement.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/.github/avancement.md b/.github/avancement.md index 8eefce5b..34b3ace6 100644 --- a/.github/avancement.md +++ b/.github/avancement.md @@ -16,6 +16,14 @@ --- +## 🚧 CI : tests bash des scripts de déploiement (2026-10-02, #605, branche `ci/605-bash-tests-en-ci`) + +- Nouveau job `bash` dans `.github/workflows/ci.yml` : `bash tests/bash/run.sh` (28 tests, git/php/ssh/scp mockés) à chaque PR et push sur `main`. Ils ne tournaient pas en CI : 7 échouaient sur `main` depuis le correctif cassé `61ba614` sans que personne le voie (#569, #570). +- Vérifié dans un clone propre (sans `.deploy-targets`, `.secrets`, `vendor/`, `.env`) : 28/28 verts ; avec un script volontairement cassé la sortie est non nulle, donc le job échoue. +- Le job n'est pas requis par la protection de branche `main` (labels/php/js) : décision à prendre séparément. + +--- + ## ✅ Déploiement : composer en CLI, vérification de vendor/, rollback (2026-10-02, #570, PR #602 mergée) - Cause de l'incident #569 (6 instances en 500) : composer lancé en PHP CGI par le cron affichait son aide et sortait en 0 ; code déjà mis à jour par `git checkout`, `vendor/` ancien, aucun rollback.