From 715176e14451a485a2a0faaea8af01a8a5c714d9 Mon Sep 17 00:00:00 2001 From: Pierre MARTIN Date: Tue, 10 Nov 2026 00:20:44 +0100 Subject: [PATCH] =?UTF-8?q?Publication=20:=20session=20CapRover=20vraiment?= =?UTF-8?q?=20v=C3=A9rifi=C3=A9e,=20version=20servie=20contr=C3=B4l=C3=A9e?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 5.5 --- scripts/deploy.sh | 27 +++++++++++++++++++++++---- 1 file changed, 23 insertions(+), 4 deletions(-) diff --git a/scripts/deploy.sh b/scripts/deploy.sh index d8194b1..ac0d463 100755 --- a/scripts/deploy.sh +++ b/scripts/deploy.sh @@ -11,6 +11,7 @@ set -euo pipefail CAPROVER_MACHINE="${CAPROVER_MACHINE:-sans-pub}" CAPROVER_APP="${CAPROVER_APP:-ustagammon}" +SITE_URL="${SITE_URL:-https://ustagammon.sans.pub}" die() { echo "Erreur : $1" >&2 @@ -33,9 +34,14 @@ git fetch -q origin main [ "$(git rev-parse main)" = "$(git rev-parse origin/main)" ] \ || die "main diffère d'origin/main : git pull (ou fusionner la MR) d'abord" -# Le jeton CapRover expire ; caprover ls ne le vérifie pas. -caprover api -n "$CAPROVER_MACHINE" -t /user/system/info -m GET -d '{}' -o false >/dev/null 2>&1 \ - || die "session CapRover expirée : lancer caprover login dans un terminal" +# Le jeton CapRover expire ; caprover ls ne le vérifie pas. Sans terminal +# (stdin fermé), la CLI ne peut pas demander le mot de passe : elle doit +# échouer, et sa sortie ne doit pas contenir de demande de mot de passe (le +# 2026-11-09, elle a demandé le mot de passe puis rendu 0 sans rien publier). +if ! session=$(caprover api -n "$CAPROVER_MACHINE" -t /user/system/info -m GET -d '{}' -o false &1) \ + || grep -qi "password\|not valid anymore" <<<"$session"; then + die "session CapRover expirée : lancer caprover login dans un terminal" +fi echo "Vérification avant publication : make lint et make test" make lint @@ -43,4 +49,17 @@ make test make package echo "Publication de main ($(git rev-parse --short main)) sur l'app $CAPROVER_APP" -caprover deploy -n "$CAPROVER_MACHINE" -a "$CAPROVER_APP" -t build/ustagammon.tar +caprover deploy -n "$CAPROVER_MACHINE" -a "$CAPROVER_APP" -t build/ustagammon.tar /dev/null || true) + if grep -q "\"$commit\"" <<<"$served"; then + echo "Publié : $SITE_URL sert $(git rev-parse --short main)." + exit 0 + fi + sleep 5 +done +die "le site ne sert pas le commit $(git rev-parse --short main) après 2 minutes : la publication a échoué (version servie : ${served:-aucune})"