Files
exbyte-depot-viewer-perforce/RELEASING.md
Bonchellon fdcc9efb31 Add non-intrusive auto-updater
Tauri updater + process plugins. Checks Gitea Releases endpoint a few
seconds after launch; on a newer signed version shows a dismissible
bottom-right banner with download progress and auto-relaunch. Public
signing key in tauri.conf.json; release flow documented in RELEASING.md.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-07 13:51:42 +03:00

58 lines
2.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Выпуск обновления (auto-updater)
Приложение при запуске тихо проверяет endpoint на Gitea Releases и, если есть
новая **подписанная** версия, показывает ненавязчивый баннер в правом нижнем углу.
Endpoint (задан в `src-tauri/tauri.conf.json`):
```
https://gitea.exbytestudios.com/ExbytePublicServices/exbyte-depot-viewer-perforce/releases/download/updater/latest.json
```
## Ключи подписи
- Приватный ключ: `C:\Users\Bonchellon\.tauri\exbyte-depot-updater.key`**СЕКРЕТ, не коммитить, не терять!**
- Публичный ключ уже вшит в `tauri.conf.json` (`plugins.updater.pubkey`).
Без приватного ключа собрать валидное обновление невозможно — сделай бэкап ключа
в надёжном месте (менеджер паролей / приватный репозиторий секретов).
## Как выпустить новую версию
1. Подними версию в **двух** местах (должны совпадать):
- `package.json``"version"`
- `src-tauri/tauri.conf.json``"version"`
2. Собери подписанный инсталлятор:
```powershell
$env:TAURI_SIGNING_PRIVATE_KEY = Get-Content "$HOME\.tauri\exbyte-depot-updater.key" -Raw
$env:TAURI_SIGNING_PRIVATE_KEY_PASSWORD = ""
npm run tauri build
```
Артефакты появятся в `src-tauri/target/release/bundle/nsis/`:
- `exbyte-depot_<version>_x64-setup.exe` — инсталлятор
- `exbyte-depot_<version>_x64-setup.exe.sig` — подпись (нужна для latest.json)
3. Создай/обнови на Gitea релиз с тегом **`updater`** и приложи к нему:
- `exbyte-depot_<version>_x64-setup.exe`
- `latest.json` (см. ниже)
4. `latest.json` — вставь версию, дату, содержимое `.sig` в поле `signature`,
и прямую ссылку на `.exe` в `url`:
```json
{
"version": "0.2.0",
"notes": "Что нового в этой версии",
"pub_date": "2026-07-07T12:00:00Z",
"platforms": {
"windows-x86_64": {
"signature": "<содержимое файла .exe.sig>",
"url": "https://gitea.exbytestudios.com/ExbytePublicServices/exbyte-depot-viewer-perforce/releases/download/v0.2.0/exbyte-depot_0.2.0_x64-setup.exe"
}
}
}
```
(сам `.exe` можно положить в релиз с тегом версии `v0.2.0`, а `latest.json` — в релиз `updater`.)
Готово: у всех, кто открыл приложение, через несколько секунд появится баннер
«Доступно обновление v0.2.0».