Release por tag
Uma tag v* testa de novo, confere a versão do manifesto, empacota e publica.
dataforge devops github escreve .github/workflows/release.yml. Ele dispara numa tag v* e faz quatro coisas, nesta ordem — e a ordem é o que impede o release errado.
- Confere a tag contra o `forge.toml`.
v1.4.0comversion = "1.3.9"no manifesto é recusado: o pacote sairia com um número e a tag diria outro. - Testa de novo. A tag pode apontar para um commit que nunca passou pelo CI.
- Empacota. Uma biblioteca vira o tarball reprodutível de
dataforge pack; uma aplicação, um.tar.gzsem.gitnemforge_modules. - Publica com
gh release create --generate-notes.
bash
# subir a versao
sed -i 's/^version = .*/version = "1.4.0"/' forge.toml
git commit -am "1.4.0"
git tag v1.4.0
git push --follow-tags| No workflow | Sem ele |
|---|---|
permissions: contents: write | o token padrão é somente-leitura, e o passo de publicar falha com 403 no primeiro release |
| a conferência tag × manifesto | o pacote 1.3.9 publicado na release v1.4.0 |
| os testes antes do pacote | a tag num commit quebrado vira uma versão publicada |
--generate-notes | as notas escritas à mão esquecem metade dos PRs |
Continue em O repositório.