Aller au contenu principal

GitHub workflows

Statut

Document de cadrage DevOps — version initiale.

Objectif

Les workflows GitHub doivent automatiser les contrôles répétitifs : lint, tests, build, sécurité de base et éventuellement déploiement.

Ils doivent rester lisibles et alignés avec l'organisation réelle du workspace.

État actuel visible

L'inspection locale hors node_modules et vendor ne confirme pas de workflow GitHub projet présent dans le workspace.

Des workflows existent dans des dépendances ou dossiers tiers, mais ils ne constituent pas des workflows DMV maintenus.

Le contexte validé mentionne des workflows CI/CD visibles partiellement. Ce point doit être consolidé dans le dépôt source réel.

Workflows cibles

WorkflowDéclenchementRôle
Backend CIPull request et pushComposer, tests Laravel, qualité PHP.
Public frontend CIPull request et pushInstallation, lint, build Next.js.
Backoffice CIPull request et pushInstallation, lint, build Vite.
Docs checkPull request docsLiens, format Markdown si outillage retenu.
Deploy stagingPush branche stagingDéploiement environnement de test.
Deploy productionRelease ou validation manuelleDéploiement contrôlé.

Secrets GitHub

Les secrets GitHub doivent être limités et nommés clairement :

  • clé SSH de déploiement ;
  • host de déploiement ;
  • utilisateur de déploiement ;
  • tokens de registry si nécessaire ;
  • variables provider frontend si utilisées ;
  • webhook de notification si retenu.

Les secrets applicatifs complets ne doivent pas être dispersés inutilement dans GitHub si le serveur peut les conserver dans .env.

Principes

  • Un workflow doit avoir un objectif unique.
  • Les étapes doivent être reproductibles localement.
  • Les déploiements production doivent être protégés.
  • Les logs ne doivent pas afficher de secrets.
  • Les versions des actions doivent être figées.
  • Les builds doivent utiliser les lockfiles.

Contrôles recommandés

  • composer install ;
  • php artisan test si environnement prêt ;
  • vendor/bin/pint --test si standard actif ;
  • npm ci ;
  • npm run lint ;
  • npm run build ;
  • vérification d'absence de secrets évidents ;
  • validation des fichiers de déploiement.

Points à clarifier

  • Dépôt GitHub source de vérité.
  • Workflows déjà existants hors workspace local.
  • Règles de protection de branches.
  • Environnements GitHub Actions.
  • Déploiement par SSH ou autre mécanisme.
  • Notifications de succès/échec.