Photo par Adi Goldstein

Définissez les paramètres d'exécution de vos workflows GitHub Actions

Déclenchez manuellement vos workflows !

Créé par Damien Aicheh le 20/01/2022 · 4 mins

Lors du développement de vos projets, vous pourriez être amené à builder et déployer votre application manuellement.

Il existe plusieurs exemples où vous devrez exécuter un workflow spécifique sur votre projet:

  • Tester une nouvelle version du framework
  • N’exécutez qu’une partie de votre workflow
  • Exécuter des scripts conditionnels

Dans ce tutoriel, nous verrons comment définir les paramètres d’exécution et déclencher manuellement vos workflows.

Définir le déclencheur manuel

Pour pouvoir déclencher un workflow manuellement, nous devons ajouter le mot-clé workflow_dispatch comme ceci:

on:
  workflow_dispatch:

Définir les inputs

Prenons deux exemples :

  • Nous devons tester si notre projet s’exécute avec la dernière version du framework (ici, nous utiliserons Flutter dans le cadre de ce tutoriel mais cela fonctionnera avec n’importe quel framework)
  • Lorsque nous testons une nouvelle version du Framework, nous n’avons peut-être pas besoin de publier les artefacts générés

Ces deux cas d’utilisation peuvent être traduits en inputs dans notre workflow comme ceci:

on:
  workflow_dispatch:
    inputs:
      flutter_version:
        description: 'Framework version'
        required: true
        default: '2.5.3'
      publish_artifacts:
        description: 'Publish artifacts'
        required: true
        default: 'true'

Comme vous pouvez le voir ci-dessus, nous avons deux inputs flutter_version et publish_artifacts avec leurs valeurs par défaut.

Au moment où j’écris cet article, la définition des booléens dans les GitHub Actions n’est possible qu’en utilisant des strings au lieu de vrais booléens.

Appliquer les inputs

Nous pouvons maintenant appliquer ces inputs directement dans les jobs:


jobs:
  build_web:
    runs-on: ubuntu-latest

    steps:
      - name: Checkout the code
        uses: actions/checkout@v2

      - name: Set Flutter version
        uses: subosito/flutter-action@v2.2.0
        with:
          flutter-version: '${{ github.event.inputs.flutter_version }}'

      ## Build scripts here (see the complete example on GitHub)

      - if: github.event.inputs.publish_artifacts == 'true'
        name: Publish Artifacts
        uses: actions/upload-artifact@v2
        with:
          name: artifacts
          path: build/web

Dans le premier cas, nous passons simplement la version de Flutter comme inputs pour le subosito/flutter-action. Dans le second, nous utilisons une instruction if pour activer ou non la publication de nos artefacts.

Exécutez le workflow manuellement

Dans les onglets Actions de votre projet GitHub, vous verrez apparaître une nouvelle ligne indiquant que vous pouvez exécuter manuellement votre workflow:

Manual workflow information

Et si vous cliquez sur le bouton Run workflow, vous verrez une petite fenêtre comme ci-dessous:

Run worflow window

Vous pourrez alors changer de version du Framework ou désactiver la publication de vos artefacts.

Touche finale

Vous pouvez désormais définir vos propres inputs pour disposer de workflows plus flexibles. Vous trouverez un exemple complet dans le répertoire Github du projet.

Happy coding!

Source:

N'hésitez pas à me suivre sur pour ne pas rater mon prochain tutoriel !