Act
Overview
Act, c'est le moyen de tester tes workflows GitHub Actions sans avoir à pousser sur GitHub à chaque fois que tu veux vérifier si ton YAML est valide. Tu parse tes fichiers .github/workflows/*.yml, Act crée des containers Docker pour chaque job, et ça tourne localement comme si tu étais sur GitHub, sauf que tu n'as pas besoin d'attendre que GitHub daigne exécuter ton workflow.
C'est pratique pour le développement local, le debugging de workflows qui refusent de passer, et tous les cas où tu préfères tester avant de polluer l'historique GitHub avec des commits de test. Act se distingue par sa simplicité, sa compatibilité avec les workflows GitHub Actions, et surtout par le fait que tu n'as plus besoin de dépendre de l'infrastructure GitHub pour savoir si ton pipeline est cassé.
Informations essentielles
| Propriété | Valeur |
|---|---|
| Site officiel | https://github.com/nektos/act |
| Licence | MIT |
| Nationalité | International |
| Type | Exécuteur local de workflows GitHub Actions |
| Déploiement | Installation binaire, Docker requis |
| Difficulté | Facile à intermédiaire |
| Technologies | Go |
TL;DR
Act, c'est pour ceux qui en ont marre de pousser sur GitHub à chaque fois qu'ils veulent tester un workflow. Tu testes localement, tu débogues, tu itères, et quand c'est bon, tu pushes. Simple comme bonjour.
Points clés à retenir :
- Exécution locale de workflows GitHub Actions, sans dépendre du cloud
- Compatibilité avec les workflows
.github/workflows/*.yml(enfin, la plupart) - Exécution dans des containers Docker, comme sur GitHub
- Support de la plupart des actions GitHub (pas toutes, mais l'essentiel)
- Testing et debugging local sans polluer ton historique Git
Compatibilité et intégrations
- Compatible avec les workflows GitHub Actions
- Utilise Docker pour l'isolation
- Support de la plupart des actions GitHub (marketplace)
- Compatible Linux, macOS, Windows (WSL)
- Intégration avec les outils de développement locaux
Avantages
- Tu testes localement sans polluer GitHub avec des commits de test
- Le débogage est plus simple : pas besoin d'attendre que GitHub exécute ton workflow
- Compatibilité correcte avec les workflows GitHub Actions (la plupart passent)
- Exécution rapide et locale, pas de file d'attente
- Pas de dépendance à l'infrastructure cloud, tu contrôles tout
- Open-source (MIT), tu peux voir ce qui se passe sous le capot
Limites
- Toutes les actions GitHub ne sont pas supportées, surtout les plus récentes ou les custom
- Certaines fonctionnalités GitHub Actions manquent (secrets, environment, etc.) - c'est le prix de la simplicité
- Il te faut Docker installé, évidemment
- Il y a des différences subtiles avec l'exécution réelle sur GitHub Actions, donc teste quand même sur GitHub avant de partir en prod
- La communauté est plus petite que GitHub Actions officiel, donc moins de ressources et de support
Ressources
- Documentation Act : https://github.com/nektos/act#readme
- GitHub : https://github.com/nektos/act