Generador de Flujos de Trabajo de GitHub Actions

Siguiente

Un nuevo repositorio de GitHub sin CI está a un git push de la próxima implementación rota. Este generador escribe un .github/workflows/ci.yml inicial para Node, PHP o Laravel, conectando checkout, la acción de tiempo de ejecución correcta, instalación de dependencias y el comando de prueba estándar, todo lo que necesitas para activar el punto verde/rojo.

Cómo generar un flujo de trabajo

  1. 1

    Elige la pila

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

  2. 2

    Establece la rama principal

    `main` es el valor predeterminado; sobrescribe si tu repositorio aún usa `master` o un nombre personalizado.

  3. 3

    Generar

    La herramienta ensambla un archivo YAML con activadores de `push` y `pull_request` en esa rama.

  4. 4

    Commit en .github/workflows/

    Crea el archivo en `.github/workflows/ci.yml` y haz push, la pestaña de Actions se ilumina en el próximo commit.

Cómo se ve el flujo de trabajo

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

Acciones fijadas por el generador

Acción Propósito
actions/checkout@v4 Clonar el repositorio en el runner
actions/setup-node@v4 Instalar un conjunto de herramientas de Node
shivammathur/setup-php@v2 Instalar una versión de PHP con extensiones

Qué agregar a continuación

  • Paso de Lint (npm run lint, ./vendor/bin/phpstan analyse) antes del paso de prueba.
  • Construcción de Matriz: ejecutar en múltiples versiones de Node/PHP con strategy.matrix.
  • Carga de Cobertura: codecov-action o coveralls-action después del paso de prueba.
  • Secretos: nunca codifiques tokens, usa secrets.XXX y defínelos en Configuración → Actions.

Errores comunes

  • Olvidar obtener etiquetas: with: { fetch-depth: 0 } en checkout cuando tu lógica de lanzamiento lee etiquetas.
  • Usar imágenes de Docker latest: fija versiones para mantener las ejecuciones reproducibles meses después.
  • Ejecutar un conjunto de pruebas de 30 minutos en cada push: divide trabajos largos con needs: para paralelizar.

Preguntas frecuentes

En .github/workflows/ci.yml en la raíz de tu repositorio. GitHub recoge cualquier YAML bajo ese directorio y muestra cada uno como un flujo de trabajo separado en la pestaña de Actions.

Las solicitudes de extracción de forks ejecutan el flujo de trabajo pero con GITHUB_TOKEN configurado como solo lectura. Los contribuyentes externos no pueden acceder a tus secretos a menos que optes explícitamente por ello.

Agrega un bloque strategy.matrix.php: [8.2, 8.3, 8.4] y referencia ${{ matrix.php }} en el paso setup-php. El runner generará un trabajo por versión en paralelo.

No. El YAML generado se muestra en la página, no se sube ni se guarda en ningún lugar, y lo copias tú mismo.

Herramientas relacionadas

Herramienta disponible en otros idiomas