R5 — engenharia de release privada
Estado: implementação concluída; publicação da primeira tag bloqueada até o checklist multiplataforma ser assinado.
Objetivo
A R5 transformou os builds internos em um processo de release verificável sem expor o repositório ou depender de acesso público ao GitHub. O modelo oficial agora é software proprietário distribuído por artefatos binários.
Problemas encontrados e correções
Download incompatível com repositório privado
Os instaladores apontavam diretamente para GitHub Releases. Um usuário sem
acesso ao repositório receberia erro de autenticação. Agora os instaladores
exigem NOVALANG_DOWNLOAD_BASE (ou -BaseUrl no PowerShell), rejeitam HTTP e
montam a URL versionada no endpoint HTTPS controlado pelo mantenedor.
MSRV incorreto
O workspace declarava Rust 1.75, mas a árvore bloqueada contém dependências que exigem Rust 1.88. O contrato passou para 1.88, foi validado localmente com essa toolchain e ganhou um job dedicado no CI.
Release sem teste do pacote final
O pipeline compilava e compactava, mas não executava o binário extraído. Cada
runner agora descompacta seu próprio artefato e executa nova version antes do
upload.
Site e documentação fora do gate principal
O CI agora valida lint, build, testes e auditoria das dependências de produção do site. Um validador próprio confere links Markdown locais e impede que as páginas públicas voltem a anunciar GitHub ou licença open source.
Entregas
- CI em Windows, Linux e macOS, além de job MSRV 1.88.
- Auditoria Rust via RustSec.
- Build, lint, testes e
npm auditdo site. - Validação da extensão e empacotamento VSIX.
- Release com quatro targets, smoke test, SHA-256 e CycloneDX SBOM.
- Instaladores desacoplados do GitHub privado e com escrita preparada antes da substituição do executável.
- Desinstaladores conservadores para PowerShell e shell.
- Política de suporte em
SUPPORT.md. - Checklist de release privada com instalação, upgrade, rollback e sign-off.
- Documentação de suporte e checklist incorporada ao site.
- Dependabot cobrindo Cargo, extensão, site e GitHub Actions.
Validação executada
- workspace completa: testes aprovados;
cargo fmt,cargo checke Clippy estrito: aprovados;cargo checkcom Rust 1.88: aprovado;- LSP real por stdio com publicação de diagnósticos: aprovado;
- extensão VS Code e auditoria npm de produção: aprovadas;
- site: lint, build, 3 testes e auditoria de produção aprovados;
- 45 arquivos Markdown e referências closed-source: aprovados;
- dry-run do instalador Windows usando endpoint HTTPS: aprovado.
Riscos remanescentes
- O endereço definitivo da distribuição na VPS ainda precisa ser definido.
- Certificados de assinatura de código para Windows e macOS ainda não existem.
- O workflow de release e os quatro artefatos precisam passar pela primeira execução real no GitHub Actions.
- Instalação, upgrade, desinstalação e rollback ainda precisam de sign-off em máquinas limpas nos três sistemas.
- O playground continua bloqueado porque a runtime não é uma sandbox.
Gate para a primeira tag
Não crie v0.2.0-alpha.1 até preencher
RELEASE_CHECKLIST.md. A implementação da R5 está
pronta, mas a release só é aprovada depois do ensaio externo multiplataforma e
da configuração do endpoint HTTPS da VPS.