Comment exécuter localement des workflows ?
Il est possible d’exécuter localement les workflows sans devoir systématiquement pousser votre code vers un dépôt. Les workflows sont conservés dans .github/workflows
et sont exécutable à l’aide de docker
et act
.
Pré-requis
- Docker
- act
Cas Mac ARM
- Si vous êtes en possession d’un Mac doté d’une puce ARM (M1/M2/…), vous ne pourrez pas exécuter les builds qui sont prévus pour x86_64. Si vous avez une machine x86_64 accessible via SSH et docker d’installé, suivez les lignes suivantes depuis votre MAC.
- Vous souhaiterez utiliser une clé ssh pour accéder à votre machine distante.
Précédez chacune de vos commandes act
avec cette variable d’environnement, éditez les mots user
, ip
et port
pour correspondre à votre appareil. Si vous utilisez le port SSH par défaut (22), vous pouvez retirer :port
.
DOCKER_HOST='ssh://user@ip:port' act
Lister les workflows
act -l
Stage Job ID Job name Workflow name Workflow file Events
0 build build Deploy Jekyll site to Pages pages.yaml push,workflow_dispatch
1 deploy deploy Deploy Jekyll site to Pages pages.yaml workflow_dispatch,push
Exécuter les workflows
act
Exécuter un workflow spécifique
Si nous reprenons le résultat de la liste précédent, nous allons essayer de “build” la documentation.
act -j build