# Checklist de Publicação — Updater do Agente Desktop Este guia consolida tudo o que precisa ser feito para que o auto-update do Tauri funcione em cada release. --- ## 1. Preparação (uma única vez) 1. **Gerar o par de chaves** (Linux ou WSL) ```bash pnpm -C apps/desktop tauri signer generate -w ~/.tauri/raven.key ``` - Privada: `~/.tauri/raven.key` (nunca compartilhar) - Pública: `~/.tauri/raven.key.pub` (cole em `tauri.conf.json > plugins.updater.pubkey`) - Se for buildar em outra máquina (ex.: Windows), copie os dois arquivos para `C:\Users\\.tauri\raven.key(.pub)`. 2. **Verificar o `tauri.conf.json`** ```json { "bundle": { "createUpdaterArtifacts": true }, "plugins": { "updater": { "active": true, "endpoints": ["https://.../latest.json"], "pubkey": "" } } } ``` --- ## 2. Antes de cada release 1. **Sincronizar versão** (mesmo número nos três arquivos): - `apps/desktop/package.json` - `apps/desktop/src-tauri/tauri.conf.json` - `apps/desktop/src-tauri/Cargo.toml` 2. **Build do front (gera `dist/` para o Tauri)** ```bash pnpm -C apps/desktop build ``` 3. **Exportar variáveis do assinador** (no mesmo shell em que vai buildar): ```bash export TAURI_SIGNING_PRIVATE_KEY="$(cat ~/.tauri/raven.key)" export TAURI_SIGNING_PRIVATE_KEY_PASSWORD="" ``` > No PowerShell, use `setx` para persistir ou execute `set`/`$env:` no terminal atual. 4. **Gerar os instaladores + `.sig`** ```bash pnpm -C apps/desktop tauri build ``` Os artefatos ficam em `apps/desktop/src-tauri/target/release/bundle/`: | SO | Bundle principal | Assinatura gerada | |----------|----------------------------------------------|-----------------------------------------| | Windows | `nsis/Raven_0.X.Y_x64-setup.exe` | `nsis/Raven_0.X.Y_x64-setup.exe.sig` | | Linux | `appimage/Raven_0.X.Y_amd64.AppImage` | `appimage/Raven_0.X.Y_amd64.AppImage.sig` | | macOS | `macos/Raven.app.tar.gz` | `macos/Raven.app.tar.gz.sig` | --- ## 3. Publicar no GitHub 1. **Criar/atualizar release** (ex.: `v0.1.6`) anexando todos os instaladores e seus `.sig`. 2. **Atualizar `latest.json`** (no próprio repo ou em um gist público) com algo como: ```json { "version": "0.1.6", "notes": "Novidades do release", "pub_date": "2025-10-12T08:00:00Z", "platforms": { "windows-x86_64": { "signature": "", "url": "https://github.com/esdrasrenan/sistema-de-chamados/releases/download/v0.1.6/Raven_0.1.6_x64-setup.exe" }, "linux-x86_64": { "signature": "", "url": "https://github.com/esdrasrenan/sistema-de-chamados/releases/download/v0.1.6/Raven_0.1.6_amd64.AppImage" }, "darwin-x86_64": { "signature": "", "url": "https://github.com/esdrasrenan/sistema-de-chamados/releases/download/v0.1.6/Raven.app.tar.gz" } } } ``` - Pegue o link **Raw** do `latest.json` e mantenha igual ao usado no `tauri.conf.json`. --- ## 4. Validar rapidamente 1. Instale a versão anterior (ex.: 0.1.5) e abra. 2. O agente deve avisar sobre a nova versão e reiniciar automaticamente ao concluir a instalação. 3. Caso queira forçar manualmente, abra a aba **Configurações → Verificar atualizações**. --- ## 5. Resumo rápido 1. `pnpm -C apps/desktop build` 2. `export TAURI_SIGNING_PRIVATE_KEY=...` / `export TAURI_SIGNING_PRIVATE_KEY_PASSWORD=...` 3. `pnpm -C apps/desktop tauri build` 4. Upload dos bundles + `.sig` → atualizar `latest.json` 5. Testar o instalador antigo para garantir que atualiza sozinho Com isso, os usuários sempre receberão a versão mais recente assim que abrirem o agente desktop.