Преминете към основното съдържание

Release процес

Клиент (Rust)​

GitHub Releases​

Клиентът се разпространява чрез GitHub Releases:

  1. Билд — cargo build --release за Windows (x86_64-msvc) и macOS (aarch64-darwin)
  2. Тестване — cargo test на двете платформи
  3. Създаване на Release — ръчно в GitHub с tag (напр. v1.0.0)
  4. Качване на бинарни файлове — .exe за Windows, .app за macOS
  5. SHA256 checksum — за верификация при auto-update

Auto-update​

Клиентът проверява за нови версии от GitHub Releases API:

  • Сравнява текущата версия с последния release tag
  • Сваля новия бинарен файл
  • Верифицира SHA256 checksum
  • Заменя текущия executable

Важно: Auto-update е изключен при MSIX/Windows Store инсталация. Store обновява приложението.

Windows Store (MSIX)​

Отделен процес за пакетиране:

  • MSIX конфигурация в client/msix/
  • Requires runFullTrust capability
  • Store listing описание в client/msix/store-listing.md
  • Детекция: GetCurrentPackageFullName() API

Server-side компоненти​

ASR сървър, Licensing API и Уебсайт се деплойват автоматично при push в main. Няма отделен release процес — continuous deployment.

Версиониране​

  • Клиент: Semantic Versioning (major.minor.patch) в client/Cargo.toml
  • Сървърни компоненти: latest (continuous deployment от main branch)