qa-e2e-gatilho

Para quem é: quem vai chamar este reutilizável num repositório seu. Depois de ler, você escreve o uses: com os inputs, os secrets, as permissões e os gatilhos certos, sem abrir o YAML. Fonte: .github/workflows/qa-e2e-gatilho.yml.

O que faz

Liga a PR ao brabo-qa: na base main cria o check E2E do brabo-qa e dispara o e2e-pr; na base dev roda o regressivo das funcionalidades tocadas; /qa-aceitar aceita falha de spec ou ambiente.

Gatilhos recomendados

O reutilizável não declara gatilhos: quem chama declara. Os recomendados são:

pull_request:
  types: [opened, synchronize, reopened]
  branches: [dev, main]
issue_comment:
  types: [created]

Inputs

nome tipo obrigatório padrão descrição
ci_ref string sim - O MESMO SHA de 40 hex do uses: do chamador (sem padrão: tag ou ausência rodaria scripts de outra versão)
ci_repo string não viralabs-dev/brabo-ci O repo do brabo-ci de onde vêm os scripts (owner/repo). Só muda num fork; o uses: do chamador deve apontar para o mesmo.
espera_minutos number não 10 Teto da espera do carimbo e da assinatura da imagem do head antes do vermelho por ambiente/assinatura (AT-790)

Secrets

nome obrigatório descrição
APP_ID sim ID do GitHub App do bot da organização
APP_PRIVATE_KEY sim Chave privada do GitHub App do bot da organização

Permissões que o chamador precisa conceder

A união do que o workflow e os jobs dele declaram. O job que chama precisa conceder pelo menos isto.

permissão nível
contents read

Jobs

Os nomes dos jobs são os nomes dos checks que a PR mostra (o prefixo do job que chama vem antes).

job nome do check
disparar Disparar o E2E
regressivo-dev Regressivo por funcionalidade (dev)
aceitar Aceitar com justificativa

Exemplo de chamada

<org> é a organização onde o brabo-ci mora, e <sha>, o commit que você fixa (o ci_ref repete o SHA do uses:).

# .github/workflows/exemplo.yml no repositório que chama
name: exemplo
on:
  pull_request:
    types: [opened, synchronize, reopened]
    branches: [dev, main]
  issue_comment:
    types: [created]
jobs:
  qa-e2e-gatilho:
    permissions:
      contents: read
    uses: <org>/brabo-ci/.github/workflows/qa-e2e-gatilho.yml@<sha>  # vX.Y.Z
    with:
      ci_ref: <sha>
    secrets:
      APP_ID: ${{ secrets.APP_ID }}
      APP_PRIVATE_KEY: ${{ secrets.APP_PRIVATE_KEY }}