Présentation des exemples
Cet article utilise un exemple de workflow pour illustrer certaines des principales fonctionnalités CI de GitHub Actions. Quand ce workflow est déclenché, il exécute automatiquement un script qui vérifie si le site GitHub Docs comporte des liens rompus.
Le diagramme suivant montre une vue générale des étapes du workflow et comment elles s’exécutent dans le travail :
Fonctionnalités utilisées dans cet exemple
L’exemple de workflow illustre les fonctionnalités suivantes de GitHub Actions.
Fonctionnalité | Implémentation |
---|---|
Déclenchement de l’exécution automatique d’un workflow : | push |
Exemple de flux de travail
Le workflow suivant a été créé par l’équipe Ingénierie de documents GitHub. Pour consulter la dernière version de ce fichier dans le référentiel github/docs
, consultez check-broken-links-github-github.yml
.
Remarque : Chaque ligne de ce workflow est expliquée dans la section suivante, dans « Comprendre l’exemple ».
name: 'Link Checker: All English'
# **What it does**: Renders the content of every page and check all internal links.
# **Why we have it**: To make sure all links connect correctly.
# **Who does it impact**: Docs content.
on:
workflow_dispatch:
push:
branches:
- main
pull_request:
permissions:
contents: read
# Needed for the 'trilom/file-changes-action' action
pull-requests: read
# This allows a subsequently queued workflow run to interrupt previous runs
concurrency:
group: '${{ github.workflow }} @ ${{ github.event.pull_request.head.label || github.head_ref || github.ref }}'
cancel-in-progress: true
jobs:
check-links:
runs-on: ${{ fromJSON('["ubuntu-latest", "self-hosted"]')[github.repository == 'github/docs-internal'] }}
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Setup node
uses: actions/setup-node@v3
with:
node-version: 16.13.x
cache: npm
- name: Install
run: npm ci
# Creates file "$/files.json", among others
- name: Gather files changed
uses: trilom/file-changes-action@a6ca26c14274c33b15e6499323aac178af06ad4b
with:
fileOutput: 'json'
# For verification
- name: Show files changed
run: cat $HOME/files.json
- name: Link check (warnings, changed files)
run: |
./script/rendered-content-link-checker.mjs \
--language en \
--max 100 \
--check-anchors \
--check-images \
--verbose \
--list $HOME/files.json
- name: Link check (critical, all files)
run: |
./script/rendered-content-link-checker.mjs \
--language en \
--exit \
--verbose \
--check-images \
--level critical
Vue d’ensemble de l’exemple
Le tableau suivant explique comment chacune de ces fonctionnalités est utilisée lors de la création d’un workflow GitHub Actions.
Code | Explication |
---|---|
|
Nom du workflow tel qu’il apparaît sous l’onglet « Actions » du dépôt GitHub. |
|
Le mot clé |
|
Ajoutez l’événement |
|
Ajoutez l’événement |
|
Ajoutez l’événement |
|
Modifie les autorisations par défaut octroyées à |
|
Crée un groupe d’accès concurrentiel pour des événements spécifiques, et utilise l’opérateur |
|
Annule tout travail ou workflow en cours d’exécution dans le même groupe d’accès concurrentiel. |
|
Regroupe tous les travaux qui s’exécutent dans le fichier de workflow. |
|
Définit un travail ayant l’ID |
|
Configure le travail pour qu’il s’exécute sur un exécuteur hébergé par GitHub ou sur un exécuteur autohébergé, selon le dépôt qui exécute le workflow. Dans cet exemple, le travail s’exécute sur un exécuteur autohébergé si le dépôt se nomme |
|
Regroupe toutes les étapes qui vont s’exécuter dans le cadre du travail |
|
Le mot clé |
|
Cette étape utilise l’action |
|
Le mot clé |
|
Utilise l’action |
|
Liste le contenu de |
|
Cette étape utilise la commande |
|
Cette étape utilise également la commande |
Étapes suivantes
- Pour découvrir les concepts de GitHub Actions, consultez « Comprendre GitHub Actions ».
- Pour un guide plus détaillé sur la création d’un workflow de base, consultez Démarrage rapide pour GitHub Actions.
- Si vous êtes à l’aise avec les bases de GitHub Actions, vous pouvez vous renseigner sur les workflows et leurs caractéristiques dans À propos des workflows.