Runbook — Mettre la CI en pause
Mettre la CI en pause avec une variable quand le quota GitHub Actions est épuisé.
Quand le quota GitHub Actions du compte est épuisé, chaque job échoue en 1 à 4 secondes sans aucun log : aucun runner ne démarre. Ce n'est pas une panne du code. Pour ne pas être bloqué par des checks rouges en attendant, la CI se met en pause avec une variable, sans toucher au code.
Mettre en pause
- GitHub → le dépôt → Settings → Secrets and variables → Actions → Variables.
- New repository variable : nom
CI_PAUSED, valeurtrue.
Tous les jobs de ci.yml, secret-scan.yml et dependency-watch.yml passent alors en skipped au
lieu d'échouer. GitHub décide ce « skipped » lui-même, sans runner ni minute consommée, et un check
requis « skipped » compte comme réussi : les PR redeviennent mergeables.
Les workflows de base de données (Deploy production database, Back up production database) ne sont
jamais mis en pause : ils sont manuels et protègent la production. Ils ont besoin du quota.
Ce qu'on perd pendant la pause
Plus aucun filet automatique sur GitHub : ni lint, ni tests, ni build, ni E2E, ni scan de secrets. Il
faut donc tout vérifier en local avant de merger (pnpm check, pnpm build, pnpm e2e,
pnpm db:drift, pnpm audit:legacy) et le dire dans la PR. Ne jamais merger du code non vérifié
« parce que la CI est en pause ».
Réactiver
- Quand le quota est revenu (ou la limite de dépense relevée), supprimer la variable
CI_PAUSED. - Relancer les checks des PR mergées pendant la pause (Actions → le workflow → Re-run) et vérifier
un passage complet sur
main. - Si un job rouge est réel (il dure des dizaines de secondes et a des logs), le corriger.
Un test (workflow-pins.test.ts) vérifie que chaque job concerné porte cet interrupteur.