Repository navigation
commitlint.yml reusable causa startup_failure em todo repo consumidor #1
Description
Sintoma
O reusable workflow .github/workflows/commitlint.yml (consumido via uses: ERP-Bem-Comum/.github/.github/workflows/commitlint.yml@main) resulta em startup_failure em todo PR do repo consumidor. O run nem inicia — ou seja, o gate de Conventional Commits nunca valida nada. É uma falha silenciosa: o check aparece "vermelho", dando a impressão de "commit fora do padrão", quando na verdade o workflow nunca chegou a rodar.
Observado de forma consistente no ERP-Bem-Comum/ERP-INFRA (todos os PRs, ex.: run 28822498172, PR #16). O check-suite desses runs tem zero check-runs (total_count: 0) — o GitHub não expõe o erro via REST para startup_failure; a mensagem exata só aparece na aba Actions da UI.
O que já foi descartado
- ✅ O arquivo existe em
@main(.github/workflows/commitlint.yml, 2358 bytes). - ✅ O repo
ERP-Bem-Comum/.githubé público → reusable workflows dele são compartilháveis (a "access policy" só se aplica a repos privados/internos, então não é bloqueio de acesso). - ✅ Conteúdo limpo: sem BOM, sem CRLF (LF puro), sem tabs; YAML estruturalmente coerente (
name/on/permissions/jobs). - ✅ O caller é trivial e correto (só
jobs.commitlint.uses:), seguindo exatamente o exemplo documentado no header do próprio reusable.
Causa provável (a confirmar na UI)
Como o arquivo parece válido e o acesso não é o problema, os dois candidatos mais fortes são:
- Erro de compilação/esquema no reusable que não salta aos olhos — a mensagem precisa ser lida na UI do Actions (abrir um run com
startup_failure→ o banner de erro do workflow). O REST não devolve isso. - Política de Actions da organização — em Org Settings → Actions → General → "Allow ... actions and reusable workflows", se a org estiver no modo restritivo e não tiver a opção "Allow actions created by GitHub / Allow specified actions and reusable workflows" cobrindo os workflows locais da própria org, todo caller recebe
startup_failuremesmo com o arquivo válido. Vale checar se "Allow , and select non-, actions and reusable workflows" está com "Allow actions and reusable workflows from repositories within this organization" marcado.
Passo sugerido
- Abrir um run com
startup_failurena UI (qualquer PR de um repo que consome o reusable) e ler o banner de erro — ele diz a linha/motivo exato. - Se for esquema do arquivo → corrigir aqui.
- Se for política da org → habilitar reusable workflows internos nas settings de Actions da org.
Impacto & workaround já aplicado
Qualquer repo da org que dependa deste reusable está com o gate de commitlint quebrado. No ERP-INFRA já contornamos inlinando o job (ERP-INFRA#17 — confirmado ✅ verde). Quando este reusable for corrigido na origem, os consumidores podem reverter o inline para o uses: de uma linha.
Aberta a partir da investigação do incidente de QA do ERP-INFRA (core-api em crash loop) — o commitlint quebrado foi um problema colateral encontrado no caminho.
Activity