Processo de Release
Esta página descreve o fluxo de release atual do repositório, não um pipeline idealizado de estado futuro.Modelo de entrega atual
- Pull requests são a unidade de entrega.
- O GitHub Actions é a fonte de verdade para as verificações do repositório.
apps/web,apps/appeapps/apisão implantados via Vercel na postura alpha atual.apps/workeré implantado por meio de um deployment no estilo Railway.- Tags semver são usadas para releases deliberados.
- O
buildVersionem runtime é distinto da versão de release semver.
Verificações padrão atuais
O repositório valida:- lint
- lint de docs
- higiene de docs
- desvio (drift) da especificação OpenAPI
- higiene de release
- build de docs
- typecheck
- testes
- build
Política de trem de release
Até a fase alpha, o Switchbord usa semver de trem de release:- patch para correções, correções de documentação e higiene de release
- minor para ondas coerentes de capacidade
- major apenas para a semântica estável de
1.0.0
Etapas obrigatórias de release
Para todo release deliberado:- Atualize o
package.jsonpara a versão pretendida. - Atualize o
CHANGELOG.mdcom## vX.Y.Ze datas factuais respaldadas pelo git. - Atualize o MDX do changelog público na web, se o release for voltado ao cliente.
- Atualize a documentação Mintlify para qualquer feature visível ao usuário ou mudança de comportamento operacional.
- Execute:
- Faça o merge do PR de release.
- Marque exatamente a mesma versão com tag:
- Confirme que o GitHub Release foi criado para a tag correspondente.
Marcação retroativa de tags históricas
Versões históricas da fase alpha, antes desta política, não foram marcadas com tags de forma consistente. Não fabrique tags. Se a marcação retroativa for necessária antes da fase alpha:- Identifique o commit exato que representava aquele estado de release.
- Verifique o
package.jsone oCHANGELOG.mdnaquele commit. - Crie a tag histórica apenas se a evidência for inequívoca.
- Prefira iniciar a correspondência estrita no próximo trem de release se o limite histórico não estiver claro.
Orientação para contribuidores
- Não assuma que uma feature está pronta para release apenas porque ela builda localmente.
- Se sua mudança altera o comportamento em runtime, atualize tanto a documentação Mintlify quanto a documentação operacional do repositório que descreve o mesmo contrato.
- Se sua mudança afeta o estado público de marketing, atualize o changelog da web ou declare explicitamente por que não, no corpo do PR.
- Se uma data de changelog não for respaldada por
git logough pr view, não faça o commit dela. - Se uma mudança exigir novos gates de CI, documente isso como um follow-up explícito em vez de sugerir que já existe.
Hardening planejado
Estas são adições esperadas, mas devem ser descritas como planejadas até estarem ativas no CI:- builds de container para runtimes de longa duração
- validação de migrações
- verificações de ambiente mais estritas
- política de promoção de ambiente de release