diff --git a/.gitea/workflows/deploy.yml b/.gitea/workflows/deploy.yml index 5776f7f..35715d9 100644 --- a/.gitea/workflows/deploy.yml +++ b/.gitea/workflows/deploy.yml @@ -8,7 +8,7 @@ on: jobs: validate: runs-on: ci-node - timeout-minutes: 15 + timeout-minutes: 30 steps: - name: Récupérer le commit @@ -24,7 +24,23 @@ jobs: set -eu npm ci npm run validate - npx playwright install --with-deps chromium + + - name: Installer Chromium pour les tests + timeout-minutes: 20 + env: + CI: "true" + # Allow slow CDN connections; Playwright keeps its built-in retries. + PLAYWRIGHT_DOWNLOAD_CONNECTION_TIMEOUT: "180000" + run: | + set -eu + npx playwright install --with-deps --only-shell chromium + + - name: Valider les parcours navigateur et le mode hors ligne + timeout-minutes: 5 + env: + CI: "true" + run: | + set -eu npm run test:e2e deploy: @@ -69,4 +85,4 @@ jobs: -o ConnectTimeout=10 \ -o UserKnownHostsFile="$HOME/.ssh/known_hosts" \ "$DEPLOY_USER@$DEPLOY_HOST" \ - "echo SSH_OK; bash /opt/pardis/deploy.sh '$SHA'" \ No newline at end of file + "echo SSH_OK; bash /opt/pardis/deploy.sh '$SHA'" diff --git a/README.md b/README.md index e16fd97..7ce1be9 100644 --- a/README.md +++ b/README.md @@ -340,4 +340,8 @@ Les tests Playwright utilisent des contextes neufs et des données synthétiques onglets, export vérifié, purge/restauration et rechargement hors ligne. Traces, vidéos et captures sont désactivées. Pour un Chrome déjà installé, définir `PARDIS_CHROME_PATH` avec son chemin ; sinon installer Chromium avec Playwright. -La CI installe Chromium et ses dépendances avant de lancer ces tests. +La CI installe Chromium Headless Shell et ses dépendances avant de lancer ces +tests. Elle télécharge uniquement la variante utilisée par les tests sans interface +et accorde 180 secondes à chaque connexion de téléchargement, avec les nouvelles +tentatives intégrées à Playwright. L’installation dispose de 20 minutes et le job +de validation de 30 minutes. Une erreur d’installation bloque le déploiement.