Skip to content

ci: upload each release to App Store Connect - #120

Merged
MegaManSec merged 1 commit into
mainfrom
ci-app-store-upload
Sep 27, 2026
Merged

MegaManSec merged 1 commit into
mainfrom
ci-app-store-upload

Conversation

@MegaManSec

Copy link
Copy Markdown
Owner

Summary

Adds an app-store job to the release workflow. On each release it:

  1. sets the same version and build number as the GitHub build
  2. archives the AppStore configuration without a real signature
  3. runs xcodebuild -exportArchive with cloud signing, which signs the app with the team's cloud-managed Apple Distribution certificate and uploads it to App Store Connect

It authenticates with an Admin App Store Connect API key (ASC_API_KEY_P8, ASC_API_KEY_ID, ASC_API_ISSUER_ID) and stops immediately, naming the secret, if any of the three is missing.

The job runs alongside the Developer ID build job, and release doesn't depend on it, so a failed upload can't block a GitHub release. Creating the App Store version and submitting for review stay manual.

As a ci: commit, this won't trigger a release.

Adds an app-store job that archives the AppStore configuration unsigned,
then lets xcodebuild -exportArchive sign it with the team's cloud-managed
Apple Distribution certificate (authenticated with an Admin App Store
Connect API key) and upload it. It runs alongside the Developer ID build
and isn't a dependency of the GitHub release, so an upload failure can't
block a release. Submitting for review stays manual.
@MegaManSec
MegaManSec merged commit 869be72 into main Sep 27, 2026
2 checks passed
@MegaManSec
MegaManSec deleted the ci-app-store-upload branch September 27, 2026 13:20
@github-actions

Copy link
Copy Markdown

🎉 This PR is included in version 2.28.0 🎉

The release is available on GitHub release

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant