- Python 85.8%
- Shell 11.1%
- Dockerfile 3.1%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
|
Some checks failed
PR checks (ci-shared) / testes (push) Failing after 7m37s
Reviewed-on: #168 |
||
| .claude | ||
| .forgejo/workflows | ||
| actions | ||
| ci-images | ||
| constraints | ||
| docs | ||
| schemas | ||
| scripts | ||
| templates | ||
| tests | ||
| .gitignore | ||
| .ignore | ||
| CHANGELOG.md | ||
| README.md | ||
| VERSION | ||
TMF CI-Shared
Reusable Forgejo Actions workflows para reduzir duplicação de código CI/CD across 6 projetos.
Documentação
Este repositório é a fonte única RUNTIME dos workflows e actions de CI/CD que os 6
produtos da frota chamam. A documentação foi fatiada em docs/:
| Documento | O que cobre |
|---|---|
| Workflows e actions reusáveis | catálogo de cada workflow/action (install-docker, smoke-test-health, hub-issue-sync, deploy-ssh, reusable-sbom…) e os nomes canônicos da frota |
| Guia de adoção | como um produto adota o CI/release/deploy único: chamador idêntico, ci-config.yml, branch protection, segredos, exemplo completo |
| Scripts e automações de deploy | scripts de scripts/, router blue-green + rollback, teste local de workflow, apêndice nginx |
| Runbook de CI vermelho | regras anti-verde-falso ao escrever/chamar reusable e a fila de CI |
| Migração ci-base → ci.yml | playbook para Hub/HelpCor/Fina saírem do reusável legado para o CI único (mapa dos jobs ao lado → ci-config.yml) |
Standards/ADRs canônicos vivem no acervo TMF/ORG.
Fluxo de branches (e a única exceção)
develop é o trunk; main só recebe o release develop→main, aberto pelo /deploy-safe e
mergeado pelo operador. Os produtos consomem os reusáveis por @main, então o que não
passou pela main não chegou à frota.
Exceção nomeada: PR semanal do pin do Trivy direto para a main (decisão do operador,
09/10/2026). O gate de CVE da frota reprova DB do Trivy com mais de 10 dias, e esperar o
release seguinte deixaria os produtos com a base vencida. O PR só vale como exceção se cumprir
todos os itens:
- título começando por
chore(trivy): pin, aberto pelopropor-pin-trivydoTMF/tmf_imagens; - branch
chore/pin-trivy-*; - só troca a tag
tmf-ci-trivy:<versão>-db<data>-<sha>nos workflows que a fixam (hojeci.yml,ci-base.yml,reusable-trivy-scan.yml,reusable-image-cve-os.yml); qualquer outra mudança volta para o fluxo normal; - o mesmo commit vai em dois PRs, um para a
develope outro para amain. Por ser o mesmo commit, o próximo release develop→main não conflita; - CI verde e aprovação humana, como qualquer PR para a
main.
Fora disso, PR para a main é release ou hotfix (fix/*, ADR 0014 D10).
Projetos Consumidores (6 projetos)
| Projeto | Prefixo | URL |
|---|---|---|
| TMF9 | TMF9 |
git.trademarketingforce.com/TMF/tmf9 |
| TMF Management | TH |
git.trademarketingforce.com/tarcisio/tmf-management |
| DANI | DAI |
git.trademarketingforce.com/tarcisio/dani |
| Fina | FINA |
git.trademarketingforce.com/tarcisio/fina |
| HelpCor | HCOR |
git.trademarketingforce.com/tarcisio/helpcor-admin |
| HelpCor Backend | CE |
git.trademarketingforce.com/tarcisio/helpcor-backend |
Histórico
- TH-54337: Criação inicial (4 workflows)
- TH-54330: Story parent (padronizar CI/CD em 6 projetos)
- INFRA-66873:
hub-issue-sync.ymlreusável (substitui as cópias de Fina, Priceshow, tennis-tracking, tmf-platform)
Licença
Trade Marketing Force © 2026