Gerenciador de Releases
Esta skill automatiza o fluxo de release atual do margo em torno de:
scripts/release.shscripts/homebrew-source-sha.sh- o modelo de tap pessoal documentado em
docs/HOMEBREW.md
Fluxo de Trabalho
1. Preparar um Release
Execute o script de preparação a partir da raiz do repositório:
python3 skills/release-manager/scripts/prepare_release.py 0.1.1
Este script:
- valida a versão solicitada
- verifica o estado local do git
- executa
go test ./...com umGOCACHElocal ao repositório - constrói arquivos de release com
scripts/release.sh - realiza testes de fumaça em cada arquivo construído, extraindo-o e executando
margo version - escreve um manifesto de release e uma lista de verificação de acompanhamento em
dist/release/release-<version>/
Flags opcionais:
--allow-dirty: continua mesmo se a árvore de trabalho estiver suja--skip-go-test: pula a suíte completa de testes Go--tap-path /path/to/homebrew-margo: inclui instruções de acompanhamento específicas do tap
2. Verificar o Release Finalizado
Após a tag Git, o release do GitHub e a atualização opcional do tap existirem, execute:
python3 skills/release-manager/scripts/verify_release.py 0.1.1 --tap-path /path/to/homebrew-margo
Este script:
- revalida os arquivos de release construídos
- verifica o release do GitHub através do
ghquando disponível - verifica se a fórmula do tap aponta para a tag esperada e possui um checksum não-placeholder
- executa
brew installoubrew upgrade --build-from-source, depoisbrew testebrew audit --strictusando o nome da fórmula qualificada pelo tap quando um checkout do tap está disponível
Flags úteis:
--skip-gh-release-check--skip-brew--brew-formula jjanuszczak/margo/margo
Instruções
- Use esta skill apenas para o modelo de release manual do repositório atual. Não introduza bottles, GoReleaser ou etapas de
homebrew-corea menos que a documentação do repositório mude. - Prefira executar
prepare_release.pyprimeiro e ler sua lista de verificação gerada antes de criar tags ou releases no GitHub. - Se etapas de rede (
ghoubrew) não puderem ser concluídas no ambiente atual, relate as tarefas de acompanhamento exatas geradas ao usuário, em vez de parafraseá-las vagamente.
Autoavaliação
Você DEVE verificar a skill após alterá-la:
python3 skills/release-manager/evals/runner.py
Leia:
skills/release-manager/evals/reports/latest_results.json
Se a avaliação falhar, corrija os scripts ou instruções e reexecute a avaliação antes de entregar o trabalho.