Files
OllaHub/docs/updater-setup.md
Evandro Fonseca Junior ac63066a2a feat: integrate automatic update checks and enhance settings UI
- Added functionality for automatic update checks in the settings page, allowing users to enable or disable this feature.
- Integrated app version display and update availability notifications.
- Updated settings store to manage auto-check updates state and handle version migration.
- Enhanced layout with a new card for update settings, improving user experience and accessibility.
2025-11-27 22:47:48 -03:00

3.1 KiB

Configuração do Sistema de Atualização Automática

Este documento explica como configurar o sistema de atualização automática do OllaHub.

Pré-requisitos

  1. Repositório GitHub configurado
  2. Rust e Cargo instalados
  3. Tauri CLI instalado

Passo 1: Gerar Chaves de Assinatura

Execute o script para gerar as chaves:

chmod +x scripts/generate-updater-keys.sh
./scripts/generate-updater-keys.sh

Ou manualmente:

mkdir -p ~/.tauri
cargo tauri signer generate -w ~/.tauri/ollahub.key

Passo 2: Configurar Chave Pública

  1. Copie a chave pública gerada (está em ~/.tauri/ollahub.key.pub)
  2. Edite src-tauri/tauri.conf.json
  3. Substitua YOUR_PUBLIC_KEY_HERE pela chave pública
  4. Atualize o endpoint com seu repositório GitHub:
{
  "updater": {
    "active": true,
    "endpoints": [
      "https://api.github.com/repos/SEU_USUARIO/SEU_REPOSITORIO/releases/latest"
    ],
    "dialog": true,
    "pubkey": "SUA_CHAVE_PUBLICA_AQUI"
  }
}

Passo 3: Configurar GitHub Secrets

  1. Vá em Settings > Secrets and variables > Actions
  2. Clique em New repository secret
  3. Nome: TAURI_UPDATER_PRIVATE_KEY
  4. Valor: Cole o conteúdo completo do arquivo ~/.tauri/ollahub.key

Passo 4: Atualizar Workflow (se necessário)

O workflow .github/workflows/release.yml já está configurado para:

  • Buildar para Windows, macOS e Linux
  • Assinar binários com a chave privada
  • Criar release automaticamente quando há push em main/master

Como Funciona

  1. Build Automático: Quando você faz push para main/master, o GitHub Actions:

    • Builda o app para todas as plataformas
    • Assina os binários
    • Cria uma release no GitHub
  2. Verificação de Atualizações: O app verifica automaticamente:

    • 5 segundos após iniciar (primeira verificação)
    • A cada 6 horas (verificação periódica)
    • Manualmente via botão nas configurações
  3. Instalação: Quando há atualização disponível:

    • Usuário recebe notificação
    • Pode escolher atualizar agora ou depois
    • Download e instalação são automáticos
    • App reinicia automaticamente após instalação

Bump de Versão

Para criar uma nova versão:

# Patch (0.1.0 -> 0.1.1)
pnpm run bump-version patch --commit

# Minor (0.1.0 -> 0.2.0)
pnpm run bump-version minor --commit

# Major (0.1.0 -> 1.0.0)
pnpm run bump-version major --commit

Depois, faça push:

git push && git push --tags

O GitHub Actions criará automaticamente a release.

Troubleshooting

Erro: "Failed to check for updates"

  • Verifique se o endpoint no tauri.conf.json está correto
  • Verifique se há releases públicas no GitHub
  • Verifique a conexão com a internet

Erro: "Signature verification failed"

  • Verifique se a chave pública no tauri.conf.json está correta
  • Verifique se a chave privada no GitHub Secret está correta
  • Regere as chaves se necessário

Release não é criada automaticamente

  • Verifique se o push foi feito para main ou master
  • Verifique os logs do GitHub Actions
  • Verifique se as permissões do workflow estão corretas