# Релиз и проверка обновлений

Краткий чеклист после того, как публичный ключ вставлен в `tauri.conf.json` и закоммичен.

---

## Шаг 1. Публичный ключ в конфиге — готово

В `desktop/src-tauri/tauri.conf.json` в блоке `plugins.updater.pubkey` указан ваш публичный ключ. Коммит: `chore(updater): set signing public key`.

---

## Шаг 2. Отправить изменения в репозиторий

```bash
cd ~/PAPA-YU
git push origin main
```

(Если репозиторий ещё не привязан: `git remote add origin https://github.com/yrippert-maker/papayu.git` и затем `git push -u origin main`.)

---

## Шаг 3. Добавить приватный ключ в GitHub Secrets

1. Откройте репозиторий на GitHub: https://github.com/yrippert-maker/papayu
2. **Settings** → **Secrets and variables** → **Actions**
3. **New repository secret**
4. **Name:** `TAURI_SIGNING_PRIVATE_KEY`  
   **Secret:** содержимое файла `~/.tauri/papayu.key` (скопировать целиком, включая заголовки)
5. **Add secret**

Если при генерации ключа задавали пароль, добавьте второй секрет:

- **Name:** `TAURI_SIGNING_PRIVATE_KEY_PASSWORD`  
- **Secret:** ваш пароль от ключа

---

## Шаг 4. Выпустить релиз по тегу (запуск release.yml)

Workflow настроен на теги вида `v*`. В корне репозитория:

```bash
cd ~/PAPA-YU
git tag v0.1.0
git push origin v0.1.0
```

После push GitHub Actions запустит сборку, подпись и публикацию релиза с `latest.json`.

---

## Шаг 5. Проверить релиз и latest.json

1. **Actions** — убедиться, что workflow «Release» завершился успешно (зелёные галочки).
2. **Releases** — открыть релиз `v0.1.0`, проверить, что в Assets есть:
   - артефакты приложения (.dmg, .app и т.п.),
   - файл **latest.json**.

---

## Шаг 6. Проверка в приложении

1. Запустить приложение (собранное локально или скачанное из релиза).
2. Открыть экран **Обновления** (`/updates`).
3. Проверить: текущая версия, канал stable, URL endpoint.
4. Нажать **«Проверить обновления»** — статус должен быть без ошибки «Could not fetch a valid…».

---

## Если всё равно ошибка — 3 проверки

1. **Секрет** в GitHub называется точно `TAURI_SIGNING_PRIVATE_KEY` (без опечаток и пробелов).
2. **Тег** именно `v0.1.0`, а не `0.1.0` (иначе триггер `v*` не сработает).
3. **Публичный ключ** в `tauri.conf.json` соответствует той же паре ключей, что и приватный ключ в Secrets (сгенерированы одной командой `cargo tauri signer generate`).
