Summary
Добавить автоматическую сборку установочного образа .dmg (Apple Disk Image) со стрелкой переноса в /Applications в релизный пайплайн (.github/workflows/release.yml).
Context & Problem
Сейчас для macOS в релизах доступен только Querya-Desktop-*-macos.zip.
При скачивании zip-архива большинство пользователей macOS распаковывают и запускают приложение прямо из папки ~/Downloads/.
- Это активирует механизм macOS Gatekeeper App Translocation (рандомизация пути в
/private/var/folders/...), что блокирует доступ к локальным путям, ломает файловые ассоциации и делает невозможным безопасное in-place обновление.
- Стандартом распространения приложений для macOS является образ
.dmg, при открытии которого пользователь привычным движением перетаскивает иконку приложения в папку Applications.
Solution
- В шаге сборки macOS в
.github/workflows/release.yml после нотаризации querya_desktop.app собирать .dmg (с помощью create-dmg или стандартного hdiutil).
- Нотаризовать и стейплить сам
.dmg образ (xcrun notarytool submit Querya-Desktop-*.dmg).
- Прикрепить
Querya-Desktop-${VERSION}-macos.dmg к GitHub Release.
Acceptance Criteria
Summary
Добавить автоматическую сборку установочного образа
.dmg(Apple Disk Image) со стрелкой переноса в/Applicationsв релизный пайплайн (.github/workflows/release.yml).Context & Problem
Сейчас для macOS в релизах доступен только
Querya-Desktop-*-macos.zip.При скачивании zip-архива большинство пользователей macOS распаковывают и запускают приложение прямо из папки
~/Downloads/./private/var/folders/...), что блокирует доступ к локальным путям, ломает файловые ассоциации и делает невозможным безопасное in-place обновление..dmg, при открытии которого пользователь привычным движением перетаскивает иконку приложения в папкуApplications.Solution
.github/workflows/release.ymlпосле нотаризацииquerya_desktop.appсобирать.dmg(с помощьюcreate-dmgили стандартногоhdiutil)..dmgобраз (xcrun notarytool submit Querya-Desktop-*.dmg).Querya-Desktop-${VERSION}-macos.dmgк GitHub Release.Acceptance Criteria
.dmgобраз для macOS./Applicationsисключает Gatekeeper Translocation.