FEATURE ROLLOUT · DOCUMENTAÇÃO

Usando em CI/CD

Publique sinais no fim dos jobs e faça o gate bloquear a promoção quando os critérios da feature não forem atendidos.

Ordem recomendada

Execute os testes, produza o relatório, envie-o mesmo quando houver falhas e só então avalie o gate. Use if: always() para não perder evidências de um job vermelho.

01Executar o runner E2E
02Gerar CTRF ou output nativo
03Enviar relatório e cobertura
04Avaliar o gate de prontidão
05Promover ou interromper o deploy

GitHub Actions

yaml
- name: Publicar resultados E2E
  if: always()
  env:
    FEATURE_ROLLOUT_TOKEN: ${{ secrets.FEATURE_ROLLOUT_TOKEN }}
  run: |
    curl --fail-with-body \
      -H "Authorization: Bearer $FEATURE_ROLLOUT_TOKEN" \
      -H "X-Git-SHA: $GITHUB_SHA" \
      --data-binary @ctrf-report.json \
      "https://feature-rollout.dev/api/v1/test-results?featureId=LBP-PIX-001&format=auto"

Política de falha

Falhar o upload por indisponibilidade da API e falhar o rollout por testes reprovados são eventos diferentes. Trate ambos explicitamente para não confundir problema de integração com problema de qualidade.

Sempre preserve o relatório local

Configure também o upload de artifacts do próprio CI. Ele funciona como cópia de segurança e mantém arquivos grandes fora da Function.