Aller au contenu

GitHub Actions

À quoi il sert

GitHub Actions exécute des pipelines décrits dans des fichiers .github/workflows/*.yml versionnés avec le code. Un workflow réagit à des événements (poussée, demande de fusion, étiquette, horaire), lance des travaux sur des agents, et assemble des briques réutilisables, les actions, publiées par GitHub ou par la communauté.

Quand le choisir

  • Quand le code est déjà sur GitHub : l'intégration (statuts sur les demandes de fusion, secrets, environnements protégés) est native.
  • Pour la signature sans clé et la fédération d'identité OIDC, bien outillées.
  • C'est la plateforme utilisée par les applications de Lyneko, dont ce site.

Alternatives

GitLab CI (intégré à GitLab), Forgejo Actions et Woodpecker (pour une forge auto-hébergée), Jenkins (historique, auto-hébergé), les services hébergés comme CircleCI.

Points d'attention

  • Épinglez les actions par empreinte de commit, pas par étiquette : l'incident tj-actions (2025) a montré qu'une étiquette peut être réécrite avec du code hostile.
  • permissions: contents: read par défaut, et n'élargissez qu'au besoin.
  • N'utilisez jamais pull_request_target pour construire le code d'une demande de fusion externe : c'est la porte ouverte au vol de secrets.

Par où commencer

Le cours CI/CD : les principes pour les concepts, puis le cours GitHub Actions du chapitre Livrer pour la syntaxe. Un exemple réel figure dans Construire des images de conteneurs, leçon 10.