krz/octosentry
macOS menu bar app to monitor GitHub security alerts
clone: git clone https://gitbay.org/krz/octosentry.git
sonarcloud-cleanup: DISTRIBUTION.txt · raw
1# Distribution
2
3octosentry ships as a notarized DMG and via Homebrew — no App Store
4distribution. Same entitlements either way; there's only one channel.
5
6## DMG
7
8Requires a **Developer ID Application** certificate and notarization
9credentials stored once locally:
10
11```bash
12xcrun notarytool store-credentials "octosentry-notary" \
13 --apple-id "you@example.com" \
14 --team-id "YOUR_TEAM_ID" \
15 --password "an-app-specific-password"
16```
17
18(App-specific password from [appleid.apple.com](https://appleid.apple.com),
19not your main Apple ID password.)
20
21Then, per release:
22
23```bash
24scripts/build-dmg.sh 1.0.0
25```
26
27This archives, exports with Developer ID signing, notarizes, staples the
28ticket, and produces `build/octosentry-1.0.0.dmg`. Attach that file to
29the corresponding GitHub Release:
30
31```bash
32gh release upload 1.0.0 build/octosentry-1.0.0.dmg
33```
34
35The update checker (`UpdateStore`) links there.
36
37## Homebrew
38
39Published at [krazywarez/homebrew-tap](https://github.com/krazywarez/homebrew-tap).
40Users install via:
41
42```bash
43brew tap krazywarez/tap
44brew install --cask octosentry
45```
46
47Per release, after uploading the new DMG to its GitHub Release:
48
491. `shasum -a 256 build/octosentry-<version>.dmg`
502. Update `version` and `sha256` in [Casks/octosentry.rb](Casks/octosentry.rb)
51 (kept here for reference — the canonical copy lives in the tap repo).
523. Copy the updated file into a local clone of `krazywarez/homebrew-tap`,
53 commit, and push.
54
55## Version bumps
56
57`MARKETING_VERSION` in the Xcode project must match the git tag for each
58release — the update checker compares `CFBundleShortVersionString`
59against the latest GitHub Release's tag name.