mirror of
https://github.com/we-promise/sure.git
synced 2026-04-07 14:31:25 +00:00
1.9 KiB
1.9 KiB
iOS TestFlight GitHub Action
This repository now includes .github/workflows/ios-testflight.yml, which builds a signed iOS IPA and uploads it to TestFlight.
What must be in the repo
- The workflow file itself:
.github/workflows/ios-testflight.yml - Existing app signing identifiers in Xcode:
- Bundle ID
am.sure.mobile(or your custom value in the workflow)
- Bundle ID
- Flutter assets and source already in
mobile/
Trigger paths
- Manual dispatch from the workflow UI.
- Tag push matching
ios-v*. - Called from
.github/workflows/mobile-release.ymlafter the shared build job, so taggingmobile-v*now creates the GitHub release and uploads to TestFlight in one pipeline.
Required GitHub Secrets
Set these in Settings → Secrets and variables → Actions:
APP_STORE_CONNECT_API_KEY_IDAPP_STORE_CONNECT_API_ISSUER_IDAPP_STORE_CONNECT_API_KEY_BASE64- Base64 version of the
.p8private key content
- Base64 version of the
IOS_TEAM_IDIOS_KEYCHAIN_PASSWORDIOS_DISTRIBUTION_P12_BASE64IOS_DISTRIBUTION_P12_PASSWORDIOS_DISTRIBUTION_CERT_NAME- Usually
iPhone Distribution
- Usually
IOS_PROVISIONING_PROFILE_NAMEIOS_PROVISIONING_PROFILE_BASE64
Do not commit private keys,
.p12,.mobileprovisionor.p8files to the repository.
Triggering
- Run manually: Actions → iOS TestFlight → Run workflow
- Push a tag that matches
ios-v*(for exampleios-v1.2.3)
Recommended App Store Connect setup
- Use an API Key with App Manager or Developer role
- Create/download an iOS Distribution certificate (
.p12), convert to base64 forIOS_DISTRIBUTION_P12_BASE64 - Create and distribute an App Store provisioning profile for
am.sure.mobile - Base64-encode the
.mobileprovisionfile forIOS_PROVISIONING_PROFILE_BASE64
Output
- IPA artifact:
ios-ipa-testflight - Uploaded IPA to TestFlight on successful upload step