Générateur de Workflow GitHub Actions

Suivant

Un nouveau dépôt GitHub sans CI est à un git push du prochain déploiement cassé. Ce générateur écrit un .github/workflows/ci.yml de démarrage pour Node, PHP ou Laravel, configurant le checkout, l’action d’exécution correcte, l’installation des dépendances et la commande de test standard, tout ce dont vous avez besoin pour faire passer le point vert/rouge.

Comment générer un workflow

  1. 1

    Choisissez la pile

    Node (utilise `actions/setup-node`), PHP (utilise `shivammathur/setup-php`) ou Laravel (PHP + `php artisan test`).

  2. 2

    Définir la branche principale

    `main` est la valeur par défaut ; remplacez-la si votre dépôt utilise encore `master` ou un nom personnalisé.

  3. 3

    Générer

    L'outil assemble un fichier YAML avec des déclencheurs `push` et `pull_request` sur cette branche.

  4. 4

    Committez dans .github/workflows/

    Créez le fichier à l'emplacement `.github/workflows/ci.yml` et poussez, l'onglet Actions s'active dès le prochain commit.

À quoi ressemble le workflow

name: CI
on:
  push:
    branches: [main]
  pull_request:
jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: shivammathur/setup-php@v2
        with:
          php-version: '8.4'
      - run: composer install --no-interaction
      - run: php artisan test

Actions épinglées par le générateur

Action But
actions/checkout@v4 Cloner le dépôt dans le runner
actions/setup-node@v4 Installer une chaîne d’outils Node
shivammathur/setup-php@v2 Installer une version PHP avec extensions

Que rajouter ensuite

  • Étape de lint (npm run lint, ./vendor/bin/phpstan analyse) avant l’étape de test.
  • Build matriciel : exécuter sur plusieurs versions Node/PHP avec strategy.matrix.
  • Téléchargement de couverture : codecov-action ou coveralls-action après l’étape de test.
  • Secrets : ne jamais coder en dur les tokens, utilisez secrets.XXX et définissez-les sous Paramètres → Actions.

Pièges courants

  • Oublier de récupérer les tags : with: { fetch-depth: 0 } sur checkout lorsque votre logique de version lit les tags.
  • Utiliser des images Docker latest : épinglez les versions pour garder les exécutions reproductibles des mois plus tard.
  • Exécuter une suite de tests de 30 minutes à chaque push : divisez les longues tâches avec needs: pour paralléliser.

Questions fréquentes

À .github/workflows/ci.yml à la racine de votre dépôt. GitHub prend en compte tout YAML sous ce répertoire et affiche chacun comme un workflow séparé dans l’onglet Actions.

Les pull requests issues des forks exécutent le workflow, mais avec GITHUB_TOKEN en lecture seule. Les contributeurs externes ne peuvent pas accéder à vos secrets à moins que vous ne l’autorisiez explicitement.

Ajoutez un bloc strategy.matrix.php: [8.2, 8.3, 8.4] et référencez ${{ matrix.php }} dans l’étape setup-php. Le runner lancera un job par version en parallèle.

Non. Le YAML généré s’affiche sur la page, n’est téléversé ni stocké nulle part, et vous le copiez vous-même.

Outils similaires

Outil disponible dans d’autres langues