You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
description: Use when preparing a new Mos release (stable, beta, or alpha) - covers zip packaging, changelog generation, appcast signing, and GitHub release draft creation.
3
+
description: Use when preparing a new Mos release (stable, beta, or alpha) - covers build, notarize, zip packaging, changelog generation, appcast signing, and GitHub release draft creation.
4
4
---
5
5
6
6
# Release Preparation
7
7
8
-
Prepare and publish a Mos release: package app → generate changelog → sign → create appcast → draft GitHub release.
8
+
Full release pipeline: bump version → build → sign → notarize → package zip → generate changelog → sign appcast → create GH draft.
9
9
10
10
## Inputs
11
11
12
12
| Input | Source |
13
13
|-------|--------|
14
-
| Mos.app path | User provides|
15
-
| Version / Build |Read from app's Info.plist|
14
+
| Mos.app | Built via xcodebuild archive + Developer ID export (Step 0)|
15
+
| Version / Build |`MARKETING_VERSION` / `CURRENT_PROJECT_VERSION` in `Mos.xcodeproj/project.pbxproj`|
16
16
| Channel | User specifies: `stable`, `beta`, or `alpha`|
17
-
| Signing key | macOS Keychain (Sparkle EdDSA) |
17
+
| Signing key | macOS Keychain — Apple Developer ID (code signing) + Sparkle EdDSA (appcast) |
18
+
| Notarization | macOS Keychain profile `notarytool` (stores Apple ID + app-specific password) |
4. Find contributors: cross-reference `git log --format="%an"` with `gh api repos/.../commits/<sha> --jq '.author.login'`. Inline credit in the relevant section (e.g., "修复鼠标中键映射问题, 感谢 @GonzFC"), NOT in a separate section.
54
114
5. Match tone of `CHANGELOG.md` — bilingual (Chinese first, `---` separator, then English).
> If the application fails to start or encounters permission issues, please refer [Wiki: If the App not work properly](https://github.com/Caldis/Mos/wiki/If-the-App-not-work-properly)
| Export fails with "network connection was lost" | Retry — Apple notarization service can be intermittent |
200
+
| `spctl --assess` rejected after export | Notarization not auto-applied; manually submit with `notarytool` + `stapler staple` |
107
201
| `sign_update` not found | Build project in Xcode first to fetch Sparkle SPM package |
108
-
| Signing key not in Keychain | Use `generate_keys -f <key_file>` to import |
202
+
| Signing key not in Keychain | Use `generate_keys -f <key_file>` to import Sparkle EdDSA key |
203
+
| Developer ID cert missing from `security find-identity` | Download from Apple Developer portal or use Xcode → Settings → Accounts → Manage Certificates |
0 commit comments