From c9f08192a3a45838eef6478a52d924a989f9409c Mon Sep 17 00:00:00 2001 From: Eusener Castilho Date: Sat, 31 Oct 2026 21:28:32 -0300 Subject: [PATCH] docs(openspec): ensaios rc.1 e rc.2 verificados --- openspec/changes/public-release/tasks.md | 4 ++-- test/integration/Dockerfile.opensuse | 8 +++++++- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/openspec/changes/public-release/tasks.md b/openspec/changes/public-release/tasks.md index 0ee93a9..07da9ef 100644 --- a/openspec/changes/public-release/tasks.md +++ b/openspec/changes/public-release/tasks.md @@ -26,11 +26,11 @@ - [x] 4.1 Adicionar ao `.github/workflows/ci.yml` o job `release-check` (`goreleaser check`, snapshot com `--skip=publish` e `shellcheck -s sh install.sh`) e verificar que ele passa num PR - [x] 4.2 Criar `.github/workflows/release.yml` em `push: tags: ['v*.*.*']` com os jobs `test` → `goreleaser` (rascunho + upload do `dist/`) → `smoke` (ubuntu `.deb`, fedora `.rpm`, macos `install.sh` com `KANIVET_BASE_URL` local) → `publish` (`gh release edit --draft=false`, `--latest` só fora de pré-release), com `contents: write` só em `goreleaser` e `publish`, e verificar com `actionlint` -- [ ] 4.3 Fazer cada job de `smoke` conferir que `kanivet-cli --version` contém a versão da tag, rodar `kanivet-cli catalog lint`, remover o pacote e conferir que `/usr/bin/kanivet-cli` sumiu, e verificar com um ensaio numa tag de pré-release descartável (`v0.1.0-rc.1`) num fork ou no próprio repositório, apagando a release e a tag depois +- [x] 4.3 Fazer cada job de `smoke` conferir que `kanivet-cli --version` contém a versão da tag, rodar `kanivet-cli catalog lint`, remover o pacote e conferir que `/usr/bin/kanivet-cli` sumiu, e verificar com um ensaio numa tag de pré-release descartável (`v0.1.0-rc.1`) num fork ou no próprio repositório, apagando a release e a tag depois ## 5. Documentação -- [ ] 5.1 Reescrever o "Início rápido" do `README.md` com a seção "Instalação" (comando do `install.sh`, `apt install ./…deb`, `dnf install ./…rpm`, `KANIVET_VERSION`/`KANIVET_INSTALL_DIR`, `xattr -d com.apple.quarantine` para download pelo navegador, `--nogpgcheck` se o dnf recusar) e manter o `go build` como "Compilar do código", e verificar seguindo os comandos do README contra a release de ensaio da 4.3 +- [x] 5.1 Reescrever o "Início rápido" do `README.md` com a seção "Instalação" (comando do `install.sh`, `apt install ./…deb`, `dnf install ./…rpm`, `KANIVET_VERSION`/`KANIVET_INSTALL_DIR`, `xattr -d com.apple.quarantine` para download pelo navegador, `--nogpgcheck` se o dnf recusar) e manter o `go build` como "Compilar do código", e verificar seguindo os comandos do README contra a release de ensaio da 4.3 - [x] 5.2 Documentar no README, na seção de testes, como fazer uma release (checklist manual, tag anotada, acompanhar o workflow, rollback) e verificar que os comandos citados existem no `release.yml` ## 6. Primeira release pública diff --git a/test/integration/Dockerfile.opensuse b/test/integration/Dockerfile.opensuse index b72b3b0..b8f4b6a 100644 --- a/test/integration/Dockerfile.opensuse +++ b/test/integration/Dockerfile.opensuse @@ -1,5 +1,11 @@ FROM opensuse/tumbleweed -RUN zypper -n install bash ca-certificates curl git gzip jq sudo tar unzip xz && zypper clean -a +# Espelhos do Tumbleweed às vezes servem metadados defasados durante a troca de +# snapshot (zypper sai com 104: pacote não encontrado); força refresh e tenta de novo. +RUN for i in 1 2 3; do \ + zypper -n --gpg-auto-import-keys ref -f && \ + zypper -n install bash ca-certificates curl git gzip jq sudo tar unzip xz && break; \ + [ "$i" = 3 ] && exit 1; sleep 15; \ + done && zypper clean -a # No Tumbleweed as regras ficam em /usr/etc/sudoers.d RUN useradd -m -s /bin/bash dev && mkdir -p /usr/etc/sudoers.d && echo 'dev ALL=(ALL) NOPASSWD:ALL' | tee /etc/sudoers.d/dev > /usr/etc/sudoers.d/dev USER dev