docs/build-and-publish-notes.md
Related macOS docs:
- mac-app-store-code-signing-guide.md -- Code signing setup and troubleshooting
- update-mac-certificates.md -- Annual certificate renewal
Look for AppDataForScreenshots.json
The iOS build is automated via .github/workflows/build-ios.yml. It triggers on:
| Secret | Description |
|---|---|
mac_certs | Apple Distribution certificate (.p12, base64) - shared with Mac builds |
mac_certs_password | Certificate password - shared with Mac builds |
IOS_PROVISION_PROFILE | iOS App Store provisioning profile (base64) |
APPLE_ID | Apple ID for App Store Connect |
APPLE_APP_SPECIFIC_PASSWORD | App-specific password |
APPLE_TEAM_ID | Apple Developer Team ID |
com.super-productivity.app.mobileprovision filebase64 -i profile.mobileprovision | pbcopyIOS_PROVISION_PROFILERequired sizes (minimum 6.9" needed, others optional):
| Device | Size (pixels) |
|---|---|
| 6.9" iPhone (Pro Max) | 1320 x 2868 |
| 6.5" iPhone (11 Pro Max) | 1284 x 2778 |
| 5.5" iPhone (8 Plus) | 1242 x 2208 |
| 12.9" iPad Pro | 2048 x 2732 |
To capture:
com.super-productivity.appWindows executables (NSIS installers and portable .exe files) are automatically signed using SignPath during the build process in .github/workflows/build.yml (windows-bin job). Signing only occurs for release builds (tags starting with 'v').
| Secret | Description |
|---|---|
SIGNPATH_API_TOKEN | SignPath API token with signing permissions |
SIGNPATH_ORGANIZATION_ID | Your SignPath organization ID (found in dashboard URL or organization settings) |
SIGNPATH_PROJECT_SLUG | Your SignPath project slug (e.g., "super-productivity") |
In .github/workflows/build.yml (windows-bin job), update these placeholder values with your actual SignPath configuration:
signing-policy-slug: 'release-signing' # TODO: Replace with your actual SignPath policy slug
artifact-configuration-slug: 'windows-exe' # TODO: Replace with your actual SignPath artifact configuration slug
release-signing (or your preference)windows-exe (or your preference)SIGNPATH_API_TOKENIn your GitHub repository (Settings → Secrets and variables → Actions), add:
In .github/workflows/build.yml, update the placeholder values:
'release-signing' with your actual signing policy slug from step 2'windows-exe' with your actual artifact configuration slug from step 3After a release build completes:
Get-AuthenticodeSignature ".\Super-Productivity-Setup-x64.exe" | Format-List
Check output shows:
Status: "Valid"SignerCertificate: Your certificate detailsTimeStamperCertificate: Timestamp authorityTest installation: Windows should show your publisher name and not display SmartScreen warnings (after certificate gains reputation)