Operação
Política de versões
Toda versão é exata, então um build só muda quando um commit diz.
Toda dependência tem versão exata (NOVA-116). Um build muda só quando um commit muda uma versão.
Onde as versões ficam
| O quê | Regra |
|---|---|
| Pacotes | Todo package.json usa x.y.z exato (ou workspace:*). bun.lock é instalado com --frozen-lockfile em todo lugar. bun run versions:check, no CI, recusa ^, ~, *, x, latest, >, < e dist-tags. |
| Bun | A raiz fixa o Bun (packageManager e engines); o Dockerfile, o CI e as instalações locais usam a mesma versão. |
| Imagens | Tag exata mais o digest do índice multi-arquitetura (imagem:tag@sha256:…) no Dockerfile, no compose.yaml, no script de testes e nos workflows. A configuração de staging leva só a tag exata. |
| GitHub Actions | Todo uses: aponta para o SHA completo de um commit, com a versão em comentário (# v7.0.1). |
Para mover uma imagem, leia o digest novo com docker buildx imagetools inspect <imagem:tag> (o Digest do topo) e
atualize, no mesmo commit, todo arquivo que cita essa imagem. Para uma action, resolva a tag até o commit; quando a tag
é anotada, siga até o commit para o qual ela aponta.
Quando atualizar
- Varredura mensal de patches: versões patch de pacotes, imagens, Bun e actions juntas, num PR só, com o gate completo (testes de integração, builds das imagens e o smoke delas).
- Major, ou minor com notas de quebra: um PR por dependência, com as notas do upstream que importam aqui na descrição.
- MikroORM: cada atualização revisa o patch aplicado ao Kysely (que o MikroORM fixa): a versão do Kysely, o código corrigido e os testes de regressão de limpeza de transação. Uma instalação congelada falha quando o patch deixa de aplicar.
- Banco em major nova: não é atualização no lugar. PostgreSQL e Valkey não leem os dados de outra major, então os volumes locais ganham nome novo e o serviço do Dokploy é recriado (ver Staging no Dokploy).
Versões atuais
| Componente | Versão |
|---|---|
| Bun | 1.4.2 |
| PostgreSQL | 18.6 |
| Valkey | 8.1.10 |
| ElasticMQ | 1.7.1 |
| MikroORM | 7.2.4 |
| TypeScript | 7.0.2 |
Esta documentação segue a mesma política: versões exatas no package.json, bun.lock commitado e imagens fixadas por
digest.