72 votes

Comment faire échouer une tâche dans Github Actions ?

Je suis en train de développer un workflow d'actions Github. Ce flux de travail fonctionne sur Linux, Mac et Windows.

Dans le cadre du flux de travail, je dois vérifier si deux variables d'environnement sont égales. Si elles ne le sont pas, le travail échoue.

Comme décrit aquí Support des actions Github if: condition :

steps:
- run: # How can I make a cross-platform failure here?
  if: ${{ envA }} != ${{ envB }}

Comment puis-je faire en sorte que le travail échoue si la condition ci-dessus est vraie ? Au début, j'ai pensé à un script, mais il doit y avoir un moyen plus élégant de faire échouer un travail.

88voto

rmunn Points 2576

Je ferais run: exit 1 . Cela se terminera simplement avec un code de sortie de 1, sur les trois plateformes.

La preuve que c'est multiplateforme : https://github.com/rmunn/Testing/runs/220188838 qui exécute le flux de travail suivant :

name: Test exiting on failure

on: [push]

jobs:
  build:

    strategy:
      matrix:
        os: [ubuntu-latest, windows-latest, macOS-latest]
    runs-on: ${{ matrix.os }}

    steps:
    - uses: actions/checkout@v1
    - name: Try to fail
      run: exit 1
    - name: Print message if we don't fail
      run: echo Should not get here

(Une version précédente de cette réponse recommandait "/bin/false", mais cela ne fonctionnait que sur Linux et macOS).

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X