Releasing a New Version
This guide covers the full release process for Commander — from version bump to public download.Prerequisites
- Access to the
cyshel-platformrepository - GitHub CLI (
gh) installed and authenticated - AWS CLI configured with
cyshel-prodprofile - Push access to the
productionbranch
Step 1: Bump the Version
Editapps/commander/package.json and increment the version:
- Patch (0.10.1): bug fixes only
- Minor (0.11.0): new features, backward compatible
- Major (1.0.0): breaking changes
Step 2: Commit and Push to Production
Step 3: Create a Git Tag
Step 4: Create a GitHub Release
Step 5: Trigger the Build Workflow
The macOS build is a manual workflow dispatch. Trigger it with the correct inputs:The
gha_role_arn is the IAM role ARN for OIDC authentication. Check previous successful runs for the correct value.Step 6: Monitor the Build
Watch the workflow progress:- Install dependencies —
pnpm install --frozen-lockfile - Build —
electron-vite build - Package & Notarize —
electron-builder --mac(includes Apple code signing and notarization, takes 5-15 min) - Upload to S3 — DMG, ZIP, blockmap, and
latest-mac.yml
Step 7: Verify the Release
Check S3 artifacts
Commander-0.11.0-universal.dmgCommander-0.11.0-universal-mac.zipCommander-latest-universal.dmg(updated to new version)latest-mac.yml(points to new version)
Verify latest-mac.yml
version field matches your release.
Verify auto-update
Existing Commander installations checklatest-mac.yml periodically. Once the file is updated, users will be prompted to download the new version.
Step 8: Deploy the Website (if needed)
If the landing page changed:Troubleshooting
Build fails at “Install dependencies”
Thepnpm-lock.yaml is out of sync. Run pnpm install locally, commit the updated lockfile, and push again.
Build fails at “Configure AWS credentials”
The IAM role ARN is incorrect. Check the workflow dispatch inputs — thegha_role_arn must include the full AWS account ID.
Notarization takes too long
Apple notarization typically takes 5-15 minutes but can take up to 30 minutes during peak times. The build will wait.Code signing fails
The signing certificate (Developer ID Application: CYSHEL CREATIVE LTD) must be imported into the CI keychain. Check that MAC_CERTIFICATE_P12 and MAC_CERTIFICATE_PASSWORD secrets are set correctly in GitHub.
Quick Reference
| What | Command |
|---|---|
| Check CI status | gh run list --branch production --limit 3 |
| Check build status | gh run list --workflow "Build Commander (macOS)" --limit 3 |
| View run details | gh run view <run-id> |
| Check S3 artifacts | aws s3 ls s3://commander-releases-producti-releasesbucket37d32909-oew5yl0mqyo9/commander/ --profile cyshel-prod |
| Invalidate CDN | aws cloudfront create-invalidation --distribution-id E3GQ4WRJOMG8PD --paths "/*" --profile cyshel-prod |