Verificação externa da GitHub Action
Este documento registra as evidências de consumidor independente da issue #49 do ADR Guard.
Verificação pré-release em repositório independente: aprovada.
Verificação de compatibilidade do @v1 publicado em fixtures isoladas de consumidor: testada continuamente no CI do ADR Guard.
URL do Marketplace: https://github.com/marketplace/actions/adr-guard-architecture-decision-validator informada pelo proprietário em 07/10/2026; o acesso público independente em sessão deslogada ainda precisa ser confirmado.
Verificação do @v1 publicado em repositório independente: aprovada em 07/10/2026.
A tag de compatibilidade v1 está publicada e acompanha a linha móvel v1; o review entrou nessa linha na v1.1.6. As evidências históricas abaixo são anteriores à primeira release v1, enquanto a nova execução em repositório independente testa o @v1 publicado sem sobrescrever a versão da imagem.
Verificação externa do @v1 publicado (07/10/2026)
Seção intitulada “Verificação externa do @v1 publicado (07/10/2026)”Consumidor: rodri-oliveira-dev/poc-arquitetura, branch isolada test/adr-guard-action-49, commit 84ac7f4.
- Workflow válido: sucesso. Jobs do diretório padrão
docs/adre do diretório customizado.adr-guard-consumer/custompassaram, incluindo as duas verificações de somente leitura comgit diff --exit-code. - Workflow intencionalmente inválido: falha esperada (exit code
1) comADR005e annotation de erro do GitHub para.adr-guard-consumer/invalid/0003-missing-decision.md. - Ambos usam
rodri-oliveira-dev/adr-guard@v1, sem input explícitoversion, compermissions: contents: read. - A imagem publicada
ghcr.io/rodri-oliveira-dev/adr-guard:1foi baixada com sucesso segundo os logs.
Essa é uma evidência de consumo externo após a release, não uma confirmação independente de acesso público à página do Marketplace.
Consumidor independente (verificação histórica pré-release)
Seção intitulada “Consumidor independente (verificação histórica pré-release)”Repositório:
Branch isolada:
test/adr-guard-action-49
A branch não altera a main do repositório consumidor.
Os fixtures cobrem:
- path padrão
docs/adr; - path customizado
.adr-guard-consumer/custom; - path intencionalmente inválido
.adr-guard-consumer/invalid; permissions: contents: read;- checkout com
persist-credentials: false; - comportamento somente leitura do
check.
Referência pré-release da Action
Seção intitulada “Referência pré-release da Action”O rerun pré-release aprovado fixa o source da Action no commit:
d1d164b5b70014e8101f7843c7cde13d7a19ae9f
e seleciona explicitamente a imagem de runtime:
ghcr.io/rodri-oliveira-dev/adr-guard:0.1.12
Essa execução histórica não é apresentada como verificação de produção do @v1. Ela usou um SHA de commit com versão de imagem explícita porque a tag @v1 ainda não havia sido publicada naquela ocasião. A tag já está publicada; os workflows consumidores externos ainda precisam ser executados novamente contra ela.
Evidência do consumidor válido
Seção intitulada “Evidência do consumidor válido”Workflow:
Resultado: success
Jobs verificados:
ADR Guard default path— validadocs/adrusando os defaults da Action.ADR Guard custom path— valida.adr-guard-consumer/custom.
Evidências observadas:
- os dois jobs executam com permissão do
GITHUB_TOKENContents: read; - os dois validam um ADR compatível com sucesso;
- o path customizado é respeitado;
- cada job executa
git diff --exit-codedepois docheck, provando que a validação não modificou o conteúdo selecionado.
Evidência do consumidor inválido
Seção intitulada “Evidência do consumidor inválido”Workflow:
Resultado: failure, como esperado.
Evidências observadas:
- a permissão do
GITHUB_TOKENéContents: read; - o ADR inválido não possui a seção
Decision; - o ADR Guard emite
ADR005 ADR must define a non-empty 'Decision' section.; - a validação termina com exit code
1; - o GitHub renderiza o diagnóstico ADR como error annotation.
Isso confirma que um consumidor independente recebe o mesmo contrato de validação e as mesmas semânticas de falha do repositório ADR Guard.
Bug encontrado no teste externo e corrigido
Seção intitulada “Bug encontrado no teste externo e corrigido”A primeira execução inválida revelou um defeito em runner frio:
O job falhava corretamente com ADR005, mas não emitia annotation de arquivo. Em um runner limpo, o Docker baixava automaticamente a imagem ausente e escrevia o progresso do pull no mesmo stderr capturado dos diagnósticos do ADR Guard. O parser de annotations rejeitava corretamente essa saída misturada inesperada.
A Action foi reforçada para:
- executar
docker pullexplicitamente antes de capturar a saída do CLI; - retornar exit code operacional
3se a imagem exata não puder ser baixada; - executar o container de validação com
--pull=never; - capturar somente stdout/stderr do ADR Guard para o parsing de diagnósticos.
No rerun externo corrigido, a annotation ADR005 foi emitida como esperado.
Isso também melhora o comportamento da major móvel em runners self-hosted, pois o @v1 publicado atualiza ativamente a imagem :1 em vez de usar silenciosamente uma imagem local antiga.
Verificação restante para encerramento
Seção intitulada “Verificação restante para encerramento”O proprietário forneceu a URL do Marketplace e a validação independente com @v1 foi concluída (execuções acima). A documentação já referencia o endereço fornecido. Antes de encerrar a issue #49 e depois o roadmap #50, confirme o acesso à página em sessão deslogada e confira repositório e versão; registre essa evidência na #49. O sucesso do workflow não comprova, isoladamente, a acessibilidade da página do Marketplace.