Release процес
Клиент (Rust)
GitHub Releases
Клиентът се разпространява чрез GitHub Releases:
- Билд —
cargo build --releaseза Windows (x86_64-msvc) и macOS (aarch64-darwin) - Тестване —
cargo testна двете платформи - Създаване на Release — ръчно в GitHub с tag (напр.
v1.0.0) - Качване на бинарни файлове —
.exeза Windows,.appза macOS - 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
runFullTrustcapability - 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)