Utiliser Act pour simuler GitHub Actions en local

Apprends à exécuter des workflows GitHub Actions localement avec Act.

Jérémy 🤘
Jérémy 🤘

Act est un outil précieux pour tester et déboguer les workflows de GitHub Actions directement depuis ton ordinateur. Cet article te guidera à travers l'installation et l'utilisation de cet outil puissant afin de renforcer ton cycle de développement.

Pourquoi utiliser Act ?

Act te permet de :

  • Exécuter tes workflows GitHub Actions en local avant de les pousser sur GitHub.
  • Gagner du temps grâce à un cycle de feedback rapide.
  • Déboguer plus efficacement grâce à des logs locaux.
  • Tester différents environnements et paramètres sans impact sur des dépôts distants.

Demo Act
Demo Act

Installation de Act

  1. Pré-requis :
    • Docker doit être installé sur ton système, car Act utilise des conteneurs pour simuler les environnements d'exécution de GitHub.
  2. Installer Act :
    • Utilise brew sur macOS :
      brew install act
      
    • Ou utilise curl pour les autres systèmes :
      curl https://raw.githubusercontent.com/nektos/act/master/install.sh | bash
      

Utilisation de base

Pour exécuter un workflow en utilisant Act, navigue à la racine de ton projet où se trouve le fichier .github/workflows et utilise la commande suivante :

Copier
act
act

Commande d'exécution avancée

Tu peux spécifier un événement particulier à exécuter, par exemple push ou pull_request, avec :

Copier
act push
act push

Utiliser des secrets

Pour passer des secrets, crée un fichier .secrets dans ton répertoire racine :

Copier
MY_SECRET=12345
MY_SECRET=12345

Puis exécute Act en utilisant :

Copier
act -s MY_SECRET=12345
act -s MY_SECRET=12345

Configurations additionnelles

Act te permet aussi de spécifier le niveau de verbosity pour le débogage avancé :

Copier
act -v
act -v

Et si tu dois tester sur une autre architecture de conteneur, Act t'offre cette flexibilité :

Copier
act --platform <platform>=<docker-image>
act --platform <platform>=<docker-image>

Limites et considerations

  • Act ne peut pas simuler authentiquement tous les comportements de GitHub Actions.
  • Certaines actions externes ou intégrations pourraient nécessiter une gestion supplémentaire en local.
  • Les performances peuvent varier selon la puissance de ta machine.

Conclusion

Act est un outil essentiel pour les développeurs voulant améliorer l'efficacité et la fiabilité de leurs workflows CI/CD en local. Avec sa facilité d'utilisation et sa capacité à raccourcir les cycles de feedback, il s'agit d'un ajout indispensable à ton outillage GitHub.

Sources