111 lines
3.9 KiB
Markdown
111 lines
3.9 KiB
Markdown
# 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**
|
|
Execute na raiz do repositório (aproveite que o comando já foi rodado):
|
|
```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`)
|
|
|
|
2. **Verificar o `tauri.conf.json`**
|
|
```json
|
|
{
|
|
"bundle": { "createUpdaterArtifacts": true },
|
|
"plugins": {
|
|
"updater": {
|
|
"active": true,
|
|
"endpoints": ["https://.../latest.json"],
|
|
"pubkey": "<conteúdo da raven.key.pub>"
|
|
}
|
|
}
|
|
}
|
|
```
|
|
|
|
---
|
|
|
|
## 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="<senha-da-chave>"
|
|
```
|
|
> 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": "<conteúdo de Raven_0.1.6_x64-setup.exe.sig>",
|
|
"url": "https://github.com/esdrasrenan/sistema-de-chamados/releases/download/v0.1.6/Raven_0.1.6_x64-setup.exe"
|
|
},
|
|
"linux-x86_64": {
|
|
"signature": "<conteúdo de Raven_0.1.6_amd64.AppImage.sig>",
|
|
"url": "https://github.com/esdrasrenan/sistema-de-chamados/releases/download/v0.1.6/Raven_0.1.6_amd64.AppImage"
|
|
},
|
|
"darwin-x86_64": {
|
|
"signature": "<conteúdo de Raven.app.tar.gz.sig>",
|
|
"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.
|