feat(ci): reusable-sonar — análise SonarQube só relatório, scanner do tmf/mirror [INFRA-69052] #79

Merged
tmf-ia merged 1 commit from feat/INFRA-69052-reusable-sonar into develop 2026-10-09 12:47:47 -03:00
Owner

INFRA-69052: reusable-sonar, análise SonarQube só como relatório

O operador decidiu em 09/10: o SonarQube da serverdani (192.168.0.78:9000, 26.9) analisa a frota toda, com TMF7, só como relatório, sem barrar.

O que entra:

  • .forgejo/workflows/reusable-sonar.yml. O scanner vem do espelho tmf/mirror/sonar-scanner-cli:12.2.0.4256_8.1.0, publicado com AUTORIZO às 12:37. O SONAR_TOKEN chega pelo carregador do Infisical embutido, na cópia idêntica do hub-issue-sync.yml, sem secrets:.
  • Testes em tests/sonar/. O arquivo novo também entra no teste de cópia idêntica do carregador.
  • Docs em docs/workflows-reusaveis.md § 8, com o snippet de adoção: push para develop, cron 03:40 e dispatch.

Nunca vermelho:

  • O job preparo sai verde com ::warning:: e pula a análise nestes casos: evento fora da regra, imagem fora do espelho ou sem tag fixa, sem token, servidor fora do ar, token recusado.
  • O job analise tem continue-on-error e um passo final if: always(), que transforma a falha em aviso.
  • sonar.qualitygate.wait=false, e sem sonar.branch.name, que quebra na Community Edition.

Prova:

  • pytest tests -q: 781 passed.
  • O controle negativo (wait=true e imagem do docker.io) derruba 4 testes.

Ainda não provado:

  • o job num runner real, alcançando 192.168.0.78:9000 e subindo a imagem do scanner, que tem ENTRYPOINT próprio e roda como user 1000;
  • o SONAR_TOKEN, que o operador ainda vai criar. Até lá a análise é pulada com aviso.

🤖 Generated with Claude Code

https://claude.ai/code/session_017QrAM1chSgVpSwDrKJVLVn

## INFRA-69052: reusable-sonar, análise SonarQube só como relatório O operador decidiu em 09/10: o SonarQube da serverdani (`192.168.0.78:9000`, 26.9) analisa a frota toda, com TMF7, **só como relatório, sem barrar**. **O que entra:** - `.forgejo/workflows/reusable-sonar.yml`. O scanner vem do espelho `tmf/mirror/sonar-scanner-cli:12.2.0.4256_8.1.0`, publicado com AUTORIZO às 12:37. O `SONAR_TOKEN` chega pelo carregador do Infisical embutido, na cópia idêntica do `hub-issue-sync.yml`, sem `secrets:`. - Testes em `tests/sonar/`. O arquivo novo também entra no teste de cópia idêntica do carregador. - Docs em `docs/workflows-reusaveis.md` § 8, com o snippet de adoção: push para develop, cron 03:40 e dispatch. **Nunca vermelho:** - O job `preparo` sai verde com `::warning::` e pula a análise nestes casos: evento fora da regra, imagem fora do espelho ou sem tag fixa, sem token, servidor fora do ar, token recusado. - O job `analise` tem `continue-on-error` e um passo final `if: always()`, que transforma a falha em aviso. - `sonar.qualitygate.wait=false`, e sem `sonar.branch.name`, que quebra na Community Edition. **Prova:** - `pytest tests -q`: 781 passed. - O controle negativo (`wait=true` e imagem do docker.io) derruba 4 testes. **Ainda não provado:** - o job num runner real, alcançando `192.168.0.78:9000` e subindo a imagem do scanner, que tem ENTRYPOINT próprio e roda como user 1000; - o `SONAR_TOKEN`, que o operador ainda vai criar. Até lá a análise é pulada com aviso. 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_017QrAM1chSgVpSwDrKJVLVn
feat(ci): reusable-sonar — análise SonarQube só relatório, nunca vermelho [INFRA-69052]
All checks were successful
PR checks (ci-shared) / testes (pull_request) Successful in 4m15s
d90bad0090
Scanner do espelho tmf/mirror/sonar-scanner-cli:12.2.0.4256_8.1.0; SONAR_TOKEN do
Infisical (INFRA/prod/ci) pelo carregador embutido (cópia idêntica, coberta por
tests/infisical-secrets); sonar.qualitygate.wait=false. Job preparo pula com
:⚠️: sem token, servidor fora, token recusado ou imagem sem tag fixa; job
analise com continue-on-error e passo final que vira aviso. Roda em push para
develop, schedule e dispatch; nunca em PR. Testes em tests/sonar e docs.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017QrAM1chSgVpSwDrKJVLVn
tmf-ia merged commit 72b0839515 into develop 2026-10-09 12:47:47 -03:00
Sign in to join this conversation.
No reviewers
No labels
seguranca
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
TMF/ci-shared!79
No description provided.