# Релиз и проверка обновлений Краткий чеклист после того, как публичный ключ вставлен в `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`).