krz/octosentry

macOS menu bar app to monitor GitHub security alerts

clone: git clone https://gitbay.org/krz/octosentry.git

1.0.1: DISTRIBUTION.md · 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 [zerolabsco/homebrew-tap](https://github.com/zerolabsco/homebrew-tap).
40Users install via:
41
42```bash
43brew tap zerolabsco/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 `zerolabsco/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.