- GitHub
- GitHub Actions
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:
Dans ce tutoriel, nous verrons comment définir les paramètres d’exécution et déclencher manuellement vos workflows.
Pour pouvoir déclencher un workflow manuellement, nous devons ajouter le mot-clé workflow_dispatch
comme ceci:
on:
workflow_dispatch:
Prenons deux exemples :
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.
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.
Dans les onglets Actions
de votre projet GitHub, vous verrez apparaître une nouvelle ligne indiquant que vous pouvez exécuter manuellement votre workflow:
Et si vous cliquez sur le bouton Run workflow
, vous verrez une petite fenêtre comme ci-dessous:
Vous pourrez alors changer de version du Framework ou désactiver la publication de vos artefacts.
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: