CI: build + attach iOS .ipa on release#4
Open
JacobStephens2 wants to merge 1 commit into
Open
Conversation
Publishing a release (or a manual dispatch against a tag) now builds the development-signed .ipa on a macOS runner and uploads it to that release — matching how the Android .apk ships, no local machine required. Extends scripts/build-ios-ipa.sh to pass an App Store Connect API key to xcodebuild when ASC_KEY_ID / ASC_ISSUER_ID / ASC_KEY_PATH are set, so -allowProvisioningUpdates can manage the app + widget development profiles without an interactive Apple account (the empty-array expansion is guarded for macOS's bash 3.2). The workflow header documents the five required secrets. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Automates the iOS
.iparelease the same way the Android.apkships — no local machine needed.Trigger
.ipaand attaches it to that release.How it works
macos-15runner →npm ci+npm run build+cap sync→ import signing cert → write ASC API key →scripts/build-ios-ipa.sh --skip-web --release <tag>. Also uploads the.ipaas a workflow artifact as a fallback.The script gained optional App Store Connect API-key auth (
ASC_KEY_ID/ASC_ISSUER_ID/ASC_KEY_PATH) so-allowProvisioningUpdatescan manage the app + widget development profiles on a runner with no logged-in Apple account. Empty-array expansion is guarded for macOS bash 3.2; local runs (no ASC vars) are unchanged.Settings ▸ Secrets and variables ▸ Actions:IOS_CERT_P12_BASE64.p12, thenbase64 -i cert.p12IOS_CERT_PASSWORD.p12export passwordASC_API_KEY_P8_BASE64.p8(ASC ▸ Users and Access ▸ Integrations), base64'dASC_KEY_IDASC_ISSUER_IDThe full how-to is in the workflow file's header comment.
🤖 Generated with Claude Code