summaryrefslogtreecommitdiff
path: root/DISTRIBUTION.txt
diff options
context:
space:
mode:
Diffstat (limited to 'DISTRIBUTION.txt')
-rw-r--r--DISTRIBUTION.txt59
1 files changed, 59 insertions, 0 deletions
diff --git a/DISTRIBUTION.txt b/DISTRIBUTION.txt
new file mode 100644
index 0000000..9757665
--- /dev/null
+++ b/DISTRIBUTION.txt
@@ -0,0 +1,59 @@
+# Distribution
+
+octosentry ships as a notarized DMG and via Homebrew — no App Store
+distribution. Same entitlements either way; there's only one channel.
+
+## DMG
+
+Requires a **Developer ID Application** certificate and notarization
+credentials stored once locally:
+
+```bash
+xcrun notarytool store-credentials "octosentry-notary" \
+ --apple-id "[email protected]" \
+ --team-id "YOUR_TEAM_ID" \
+ --password "an-app-specific-password"
+```
+
+(App-specific password from [appleid.apple.com](https://appleid.apple.com),
+not your main Apple ID password.)
+
+Then, per release:
+
+```bash
+scripts/build-dmg.sh 1.0.0
+```
+
+This archives, exports with Developer ID signing, notarizes, staples the
+ticket, and produces `build/octosentry-1.0.0.dmg`. Attach that file to
+the corresponding GitHub Release:
+
+```bash
+gh release upload 1.0.0 build/octosentry-1.0.0.dmg
+```
+
+The update checker (`UpdateStore`) links there.
+
+## Homebrew
+
+Published at [krazywarez/homebrew-tap](https://github.com/krazywarez/homebrew-tap).
+Users install via:
+
+```bash
+brew tap krazywarez/tap
+brew install --cask octosentry
+```
+
+Per release, after uploading the new DMG to its GitHub Release:
+
+1. `shasum -a 256 build/octosentry-<version>.dmg`
+2. Update `version` and `sha256` in [Casks/octosentry.rb](Casks/octosentry.rb)
+ (kept here for reference — the canonical copy lives in the tap repo).
+3. Copy the updated file into a local clone of `krazywarez/homebrew-tap`,
+ commit, and push.
+
+## Version bumps
+
+`MARKETING_VERSION` in the Xcode project must match the git tag for each
+release — the update checker compares `CFBundleShortVersionString`
+against the latest GitHub Release's tag name.