Pular para conteúdo

AUR-568: falha ao gravar auditoria ou SARIF nunca termina como sucesso

O que entrega

  • internal/gate/artifacts.go: ArtifactFailure, os motivos audit_write_failed e sarif_write_failed e ApplyArtifactFailures, que dobra a falha na decisao do gate (inconclusivo pelo modo da politica quando gate esta declarado; aprovacao retida).
  • cmd/aurumcode/compliance_artifacts.go: writeComplianceArtifacts (uma funcao para --base e --pr) grava antes da publicacao e do exit, nomeia o caminho em stderr, aplica a falha ao gate e regrava o arquivo gravavel com a decisao final; devolve as falhas. --base e --pr retornam exitArtifactNotWritten (1) quando nenhum codigo do gate ja fecha a execucao.
  • Testes em cmd/aurumcode/aur568_test.go: pai e arquivo regular (ENOTDIR) e diretorio inexistente, para --auditoria e --sarif, com block, warn e sem gate, em --base e --pr, mais a regressao com caminho gravavel.
  • Tutorial auditoria-sarif (caso falha-caminho-invalido) regravado com a execucao real.

Decisoes

  • Exit sempre diferente de 0, tambem em warn: o modo da politica decide o status (failure ou inconclusivo) e o codigo (block: 1 pelo gate; demais: 1), nao se o artefato faltante e aceitavel.
  • Sem gate o status --check segue o de achados graves; so o exit muda.
  • Nao muda o formato da auditoria nem grava em lugar alternativo.