Gerador de Workflow do GitHub Actions

Próximo

Um repositório GitHub novo sem CI está a um git push de um próximo deploy quebrado. Este gerador escreve um .github/workflows/ci.yml inicial para Node, PHP ou Laravel, conectando checkout, a ação de runtime correta, instalação de dependências e o comando de teste padrão, tudo que você precisa para acender o ponto verde/vermelho.

Como gerar um workflow

  1. 1

    Escolha a stack

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

  2. 2

    Defina o branch principal

    `main` é o padrão; substitua se seu repositório ainda usa `master` ou um nome personalizado.

  3. 3

    Gerar

    A ferramenta monta um arquivo YAML com gatilhos de `push` e `pull_request` nesse branch.

  4. 4

    Commit para .github/workflows/

    Crie o arquivo em `.github/workflows/ci.yml` e faça push, a aba Actions acende no próximo commit.

Como o workflow se parece

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

Ações fixadas pelo gerador

Ação Propósito
actions/checkout@v4 Clonar o repositório no runner
actions/setup-node@v4 Instalar uma toolchain Node
shivammathur/setup-php@v2 Instalar uma versão PHP com extensões

O que adicionar a seguir

  • Passo de Lint (npm run lint, ./vendor/bin/phpstan analyse) antes do passo de teste.
  • Build em Matriz: executar em várias versões Node/PHP com strategy.matrix.
  • Upload de Cobertura: codecov-action ou coveralls-action após o passo de teste.
  • Segredos: nunca codifique tokens, use secrets.XXX e defina-os em Configurações → Actions.

Armadilhas comuns

  • Esquecer de buscar tags: with: { fetch-depth: 0 } no checkout quando sua lógica de release lê tags.
  • Usar imagens Docker latest: fixe versões para manter execuções reprodutíveis meses depois.
  • Executar uma suíte de testes de 30 minutos em cada push: divida trabalhos longos com needs: para paralelizar.

Perguntas frequentes

Em .github/workflows/ci.yml na raiz do seu repositório. O GitHub reconhece qualquer YAML sob esse diretório e mostra cada um como um workflow separado na aba Actions.

Pull requests de forks executam o workflow, mas com GITHUB_TOKEN definido como somente leitura. Contribuidores externos não podem acessar seus segredos a menos que você opte explicitamente por isso.

Adicione um bloco strategy.matrix.php: [8.2, 8.3, 8.4] e faça referência a ${{ matrix.php }} no passo setup-php. O runner irá gerar um trabalho por versão em paralelo.

Não. O YAML gerado é exibido na página, não é enviado nem salvo em lugar nenhum, e você o copia você mesmo.

Ferramentas relacionadas

Ferramenta disponível em outros idiomas