Files

29 lines
1.5 KiB
Markdown

# SonarDesk release distribution
The website now owns SonarDesk release distribution from the admin area.
## Deploy
1. Deploy the code normally.
2. Run `php artisan migrate --force`.
3. Ensure Laravel's `storage` directory remains shared/persistent between releases (the existing Deployer configuration already shares `storage`).
4. Ensure the web/PHP upload limits are large enough for the DMG. For a 1 GB application limit, configure nginx `client_max_body_size` and PHP `upload_max_filesize` / `post_max_size` accordingly.
## Publishing a build
Open **Admin → Releases → New release**. Enter the marketing version, build number, minimum macOS version and release notes, upload the signed/notarized DMG or ZIP, and paste the Sparkle EdDSA signature when Sparkle is enabled. Save as a draft until the package is ready, then publish it.
Published stable releases automatically feed:
- `/release` — customer-facing distribution centre
- `/download` — latest stable package
- `/updates/appcast.xml` — Sparkle feed
- the licence portal download call-to-action
- licence delivery email download call-to-action
The SHA-256 checksum and file size are calculated on upload. Download counts are tracked per release.
## Sparkle
Generate the EdDSA signature with the Sparkle release tooling and paste it into the release editor. Configure the macOS app's feed URL to the production `/updates/appcast.xml` endpoint. Do not place Sparkle private signing keys on the public web server.