Atualizações automáticas
Como o Oleafly constrói, assina, verifica e publica o feed do atualizador multiplataforma.
O Oleafly usa o plugin de atualização do Tauri. Na inicialização, o aplicativo verifica o release mais recente do GitHub e abre a própria janela de atualização quando há uma versão mais nova disponível. Também é possível verificar pelo menu do aplicativo ou em Sobre → Verificar atualizações.
Feed de releases
Seção intitulada “Feed de releases”Cada build de plataforma cria artefatos assinados do atualizador e um fragmento de latest.json. O fluxo de trabalho de release mantém esses fragmentos separados até os quatro builds terminarem e então mescla as entradas de cada destino em um manifesto canônico.
O manifesto final precisa conter entradas para macOS Apple Silicon, Windows x64, Linux x64 e Linux ARM64. Ele fica anexado a um release em rascunho até um mantenedor executar o fluxo de trabalho protegido de publicação. Os aplicativos instalados não veem o rascunho.
O aplicativo baixa o latest.json dos releases do GitHub. Antes da instalação, o Tauri verifica a assinatura do atualizador contra a chave pública embutida em src-tauri/tauri.conf.json. Artefatos ausentes, não assinados ou alterados são rejeitados.
As notas de versão vêm da seção correspondente no CHANGELOG.md. O fluxo de trabalho extrai essa seção e a usa tanto no corpo do release do GitHub quanto na janela do atualizador.
Chaves de assinatura
Seção intitulada “Chaves de assinatura”A chave pública do atualizador fica no repositório, em src-tauri/tauri.conf.json. A chave privada deve existir somente nos segredos do GitHub Actions:
TAURI_SIGNING_PRIVATE_KEYTAURI_SIGNING_PRIVATE_KEY_PASSWORD
Nunca faça commit da chave privada. Se ela for exposta, gere um novo par, atualize o segredo do repositório e substitua a chave pública embutida. As instalações existentes confiam na chave embutida nelas, então uma rotação exige um caminho planejado de atualização manual.
A assinatura do sistema operacional é separada da assinatura do atualizador. Builds do macOS usam assinatura de código da Apple e notarização quando os segredos de release estão presentes. Builds do Windows usam Azure Artifact Signing quando as credenciais dele estão presentes.
Falha e reversão
Seção intitulada “Falha e reversão”Uma verificação ou um download que falha deixa o aplicativo instalado inalterado. Falha de assinatura bloqueia a instalação. O aplicativo reinicia somente depois que o download verificado é instalado com sucesso.
O Oleafly não reverte automaticamente uma atualização concluída. Para voltar a uma versão anterior, feche o aplicativo, faça backup dos projetos importantes, baixe o instalador oficial anterior, verifique-o e instale-o por cima da versão atual.
Veja Lançamento de versões do Oleafly para o processo de rascunho e publicação.