Les flux de travail GitHub (ou « GitHub workflows ») étendent les fonc­tion­na­li­tés de GitHub et sont créés di­rec­te­ment dans le ré­fé­ren­tiel souhaité dans le dossier .github/workflows. Ils vous per­met­tent d’exécuter des actions au­to­ma­ti­sées lorsque certains évé­ne­ments se pro­dui­sent.

Que sont les Github workflows ?

En principe, un flux de travail GitHub n’est rien d’autre qu’un ensemble d’actions spé­ci­fiques les plus ré­cur­rentes, qui sont au­to­ma­ti­que­ment exécutées lorsqu’un événement précis se produit dans le ré­fé­ren­tiel. Il se compose de plusieurs tâches appelées « jobs », qui sont à leur tour divisés en étapes in­di­vi­duelles ou « steps ». En plus de l’uti­li­sa­tion des flux de travail dé­clen­chée par des évé­ne­ments, ceux-ci peuvent également être démarrés en mode manuel ou exécutés au sein d’in­ter­valles de temps définis. Les flux de travail font partie in­té­grante de la pla­te­forme d’in­té­gra­tion continue GitHub Actions. Les pro­gram­meurs désignent les actions in­di­vi­duelles réunies au sein du GitHub workflow. Les champs d’ap­pli­ca­tion les plus courants sont le test au­to­ma­tisé du code dès qu’il est mis à jour dans le ré­fé­ren­tiel, ou la no­ti­fi­ca­tion des membres de l’équipe lorsque des mo­di­fi­ca­tions se pro­dui­sent dans le ré­fé­ren­tiel.

Conseil

Si vous utilisez GitHub pour votre projet Web, il peut s’avérer utile de se tourner vers Deploy Now pour renforcer votre pro­duc­ti­vité. Le flux de travail GitHub Actions déjà configuré met au­to­ma­ti­que­ment en place votre projet.

GitHub workflow : cons­truire son propre flux de travail pas à pas

Il n’est pas difficile de créer un flux de travail GitHub. Il vous suffit de disposer de con­nais­sances de base du langage de pro­gram­ma­tion YAML et d’un ré­fé­ren­tiel GitHub dans lequel vous souhaitez exécuter et déployer votre flux de travail. Si vous utilisez un en­vi­ron­ne­ment de dé­ve­lop­pe­ment intégré pour écrire votre code YAML, l’assistant GitHub Copilot peut même vous aider à créer le code de flux de travail.

Étape 1 : définir un flux de travail

Après avoir créé un ré­fé­ren­tiel ou sé­lec­tionné un ré­fé­ren­tiel existant pour votre flux de travail GitHub, cliquez sur le bouton Actions pour accéder au menu Actions de GitHub.

Image: Vue d’un référentiel GitHub
Sé­lec­tion­nez l’onglet Actions dans votre ré­fé­ren­tiel pour accéder au menu Actions de GitHub.

Vous pouvez main­te­nant créer votre propre flux de travail dans le menu Actions de GitHub. Pour ce faire, cliquez sur le bouton « set up a workflow yourself ».

Image: Vue du menu Actions dans GitHub
Dans le menu Actions GitHub, vous pouvez créer votre propre flux de travail GitHub.

Étape 2 : écrire du code pour le flux de travail GitHub

Une fois que vous avez créé un nouveau flux de travail, un nouveau fichier nommé main.ymls’ouvre au­to­ma­ti­que­mentdans le ré­per­toiregithub/workflows. Vous pouvez modifier ce fichier di­rec­te­ment dans GitHub et ajouter le code que vous souhaitez exécuter dans votre flux de travail. Comme l’indique l’extension de fichier, ce code doit être écrit dans le langage de pro­gram­ma­tion YAML.

Image: Le fichier main.yml dans l’éditeur GitHub
Vous pouvez éditer le fichier main.yml di­rec­te­ment dans GitHub, puis faire un commit.

Seul vous décidez des actions que vous spécifiez dans votre code. Notre exemple de code crée un flux de travail appelé « example » et s’exécute chaque fois qu’un commit est effectué dans la branche « main » :

name: example
on:
	push:
		branches: [main]
jobs:
	build:
		runs-on: ubuntu-latest
		steps:
-  uses: actions/checkout@v2
    with:
	fetch-depth: 0
- run: make

Tout d’abord, il spécifie le moment précis où le flux de travail Github doit être exécuté. Les mots-clés « on » et « push » sont utilisés à cette fin. Ceux-ci dé­clenchent le flux de travail si le code est spécifié après le mot-clé « branches ».

Le flux de travail lui-même se compose d’un job appelé « build », qui, à son tour, se déroule en deux étapes dis­tinctes et s’exécute sur un hôte Ubuntu.

Dans la première étape, nous utilisons uneaction GitHub pré­dé­fi­nie appelée « checkout ». Elle veille à ce que l’ensemble du code du ré­fé­ren­tiel soit té­lé­chargé sur l’hôte. Le paramètre « fetch-depth » peut être utilisé pour spécifier le nombre de commits à té­lé­char­ger. L’in­di­ca­tion « 0 » garantit que l’his­to­rique des va­li­da­tions complet de la branche « main » est té­lé­chargé.

La deuxième étape exécute la commande « make » sur l’hôte. Elle compile et gère le code en exécutant des commandes qui sont gé­né­ra­le­ment spé­ci­fiées dans un « Makefile ».

Étape 3 : en­re­gis­trer et valider le flux de travail Github

Une fois que vous avez spécifié le code dans votre flux de travail, il vous suffit d’en­re­gis­trer le fichier puis de faire un commit. À partir de main­te­nant, votre flux de travail s’exécutera chaque fois que l’événement spécifié se produit.

Aller au menu principal