Files
oto-enterprise-os-dtp/.gitea/workflows/ci.yml
T
Claude Code DTP Worker 1a87b22fd7 [DTP-Worker] Sprint 1 · Baseline QA Playwright (4 endpoints) + fix gate rouge
Livrable QA Sprint 1 (roadmap §Sprint 1 · GAP_ANALYSIS §7) : projet Playwright
auto-contenu sous tests/, data-driven sur e2e/routes.json pour /waf-home /crm
/qa /choisir-mon-unite. 4 contrôles/route : status<400 · HTML titré+lang ·
brand luxury (#0a0a12/#f0b429 + Fraunces/Cormorant) · zéro erreur JS/5xx.
Cible via DTP_BASE_URL (aucune URL codée en dur). Zéro invention de chiffres (#6).

- tests/{playwright.config.ts,package.json,tsconfig.json,.gitignore,README.md}
- tests/e2e/{routes.json,smoke.spec.ts,_shared/contract.ts}
- CI : job e2e-baseline manuel (workflow_dispatch) dans .gitea/workflows/ci.yml
  — hors gate push/PR (exige serveur live), Gitea Actions only (#2)
- Fix : gate CI rouge sur HEAD (guard flaguait sa propre doc de test négatif)
  → escape hatch documenté ci-allow. Les 3 scripts du gate repassent verts.
- GAP_ANALYSIS §7 : critère Baseline Playwright →  (exécution VPS différée)
- daily report 2026-07-30 (session 2)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-30 01:02:04 +00:00

83 lines
2.7 KiB
YAML

# ============================================================================
# CI · OTO Enterprise OS DTP · Gitea Actions
# ----------------------------------------------------------------------------
# Gate qualité DevOps (roadmap Sprint 1 · GAP_ANALYSIS §7).
# Plateforme : Gitea Actions UNIQUEMENT (CLAUDE.md #2 · JAMAIS GitHub).
# Runner : act_runner enregistré sur le VPS avec le label « ubuntu-latest ».
# Voir ci/README.md pour l'enregistrement du runner.
# Aucune dépendance réseau/marketplace externe hors actions/checkout.
# ============================================================================
name: CI
on:
push:
branches: [main]
pull_request:
branches: [main]
workflow_dispatch:
jobs:
constraints-guard:
name: Contraintes NON-NÉGOCIABLES (CLAUDE.md)
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Guard des contraintes
run: bash ci/guard_constraints.sh
validate-json:
name: Validation JSON (schémas Faisabilité)
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Valider les JSON
run: bash ci/validate_json.sh
check-docs:
name: Qualité documentaire (liens + 4Big)
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Contrôle docs
run: bash ci/check_docs.sh
gate:
name: Gate qualité (agrégat)
runs-on: ubuntu-latest
needs: [constraints-guard, validate-json, check-docs]
steps:
- name: Résultat
run: echo "✅ Gate qualité 4Big franchi — tous les checks verts."
# --------------------------------------------------------------------------
# E2E baseline (QA · Sprint 1). MANUEL uniquement (workflow_dispatch) : exige
# un serveur live + navigateurs → hors du gate push/PR (checks statiques).
# Cible via DTP_BASE_URL (variable/secret repo). Voir tests/README.md.
# --------------------------------------------------------------------------
e2e-baseline:
name: E2E baseline Playwright (manuel)
runs-on: ubuntu-latest
if: github.event_name == 'workflow_dispatch'
defaults:
run:
working-directory: tests
env:
CI: "true"
DTP_BASE_URL: ${{ vars.DTP_BASE_URL }}
steps:
- uses: actions/checkout@v4
- name: Installer dépendances + navigateurs
run: |
npm install
npm run install:browsers
- name: Lancer la baseline E2E
run: npm test
- name: Publier le rapport
if: always()
uses: actions/upload-artifact@v4
with:
name: playwright-report
path: tests/playwright-report/