Skip to content

Plateforme numérique pour faciliter et accélérer la mise en oeuvre des actions de transition écologique dans les collectivités territoriales

License

Notifications You must be signed in to change notification settings

incubateur-ademe/territoires-en-transitions

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GitHub workflows et actions

Le dossier .github contient la définition des worflows utilisés en CI.

Nous utilisons les workflows réutilisables et les actions personnalisées afin de modulariser les différents workflows et de minimiser la duplication de code.

Ces workflows peuvent aussi être utilisés en local par le biais de act pour faciliter leur élaboration et initialiser les environnements de développememt.

La variable d'environnement ACT est ajoutée automatiquement ce qui permet de distinguer dans les workflows les exécutions locales de celles en CI.

Par exemple les images docker construites par les actions ne sont pas tirées ou poussées vers le registre de containers lorsque les workflows associés sont utilisés avec act.

Structure des dossiers

  • .actrc : configuration de act
  • .github/config/ : configuration de l'environnement pour l'exécution en local des workflows
    • .act.vars(.default) : variables (équivalent du contexte vars GitHub)
    • .act.secrets(.default) : secrets (équivalent du contexte secrets GitHub)
  • .github/actions/ : actions locales réutilisées dans les workflows
  • .github/workflows/ : workflows

Prérequis

  • Docker démarré
  • act installé : brew install act (macOS)

Mise en place (une fois)

cp .github/config/.act.vars.default .github/config/.act.vars
cp .github/config/.act.secrets.default .github/config/.act.secrets
# Éditez et complétez les valeurs nécessaires (IDs de spreadsheets, clés API…)

Il est notamment nécessaire de créer un token personnel pour permettre l'accès à la registry ghcr.io et d'utiliser ce token pour la variable GH_TOKEN dans le fichier .github/config/.act.secrets.

Exécuter un workflow avec Act

Les exemples donnés ici utilise le workflow dev (.github/workflows/dev.yml).

Ce workflow fourni des jobs utiles en développement. Voir les commentaires dans le fichier lui-même pour plus d'information.

Cependant n'importe quel autre workflow/job peut être lancé avec Act afin de tester et déboguer ce qui se passe en CI.

  • Lister les jobs disponibles :
act -W .github/workflows/dev.yml -l
  • Lancer un job :
act -W .github/workflows/dev.yml -j db-init

Lorsque le nom du job est unique, il n'est pas nécessaire de spécifier le workflow.

act -j db-init
  • Voir un graphe d'un workflow :
act -W .github/workflows/ci.yml -g

Troubleshooting

Lorsqu'une commande tel que act -j db-save résulte en un message d'erreur "docker daemon is not running" dans un job qui appelle la CLI de Docker, il est probable que le chemin de la socket par défaut de act ne soit pas la bonne.

Il est alors possible d'éditer son fichier ~/.actrc pour le définir en dur :

--container-daemon-socket unix:///Users/yolododo/.docker/run/docker.sock

About

Plateforme numérique pour faciliter et accélérer la mise en oeuvre des actions de transition écologique dans les collectivités territoriales

Resources

License

Security policy

Stars

Watchers

Forks

Contributors 30