Skip to content

commitlint.yml reusable causa startup_failure em todo repo consumidor #1

Open

Description

@GabrielAderaldo

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:

  1. 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.
  2. 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_failure mesmo 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

  1. Abrir um run com startup_failure na UI (qualquer PR de um repo que consome o reusable) e ler o banner de erro — ele diz a linha/motivo exato.
  2. Se for esquema do arquivo → corrigir aqui.
  3. 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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions