Overview
Remarque
Un travail ignoré signale son état comme « Réussite ». Il n’empêche pas une demande de tirage (pull request) de fusionner, même s’il s’agit d’une vérification requise.
Vous pouvez utiliser le jobs.<job_id>.if
conditionnel pour empêcher l’exécution d’un travail, sauf si une condition est remplie. Vous pouvez utiliser n’importe quel contexte et n’importe quelle expression pris en charge pour créer un conditionnel. Pour plus d’informations sur les contextes pris en charge dans cette clé, consultez Accès à des informations contextuelles sur l’exécution d’un workflow.
Remarque
La condition jobs.<job_id>.if
est évaluée avant que jobs.<job_id>.strategy.matrix
soit appliqué.
Quand vous utilisez des expressions dans un conditionnel if
, vous pouvez omettre la syntaxe de l’expression ${{ }}
parce que GitHub Actions évalue automatiquement le conditionnel if
en tant qu’expression. Toutefois, cette exception ne s’applique pas partout.
Vous devez utiliser la syntaxe d’expression ${{ }}
ou l’échappement avec ''
, ""
ou ()
lorsque l’expression commence par !
, car !
est une notation réservée au format YAML. Par exemple :
if: ${{ ! startsWith(github.ref, 'refs/tags/') }}
Pour plus d’informations, consultez « Évaluer les expressions dans les workflows et les actions ».
Exemple : Exécuter un travail uniquement pour un dépôt spécifique
Cet exemple utilise if
pour contrôler le moment où le travail production-deploy
peut s’exécuter. Il s’exécute uniquement si le dépôt se nomme octo-repo-prod
, et s’il se trouve dans l’organisation octo-org
. Sinon, le travail est marqué comme étant ignoré.
name: example-workflow on: [push] jobs: production-deploy: if: github.repository == 'octo-org/octo-repo-prod' runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-node@v4 with: node-version: '14' - run: npm install -g bats
name: example-workflow
on: [push]
jobs:
production-deploy:
if: github.repository == 'octo-org/octo-repo-prod'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: '14'
- run: npm install -g bats
On a skipped job, you should see "This check was skipped."
Remarque
In some parts of the workflow you cannot use environment variables. Instead you can use contexts to access the value of an environment variable. For more information, see Store information in variables.