Add internal provisioning profile support to iOS TestFlight workflow
Merged
AZ
3mo ago+21+21+01234567890123456789-9-9-0123456789
Support separate internal and beta provisioning profiles, selected based on bundle ID. Internal builds (dev.cmux.app.internal) now use the internal provisioning profile from GitHub Secrets. Fixes export mismatch error when uploading internal builds to TestFlight.
Need help on this PR? Tag /codesmith with what you need. Autofix is disabled.
Summary by cubic
Add internal iOS TestFlight support by selecting the correct provisioning profile based on the bundle ID. Fixes export mismatch errors when uploading dev.cmux.app.internal builds.
-
New Features
- Auto-selects provisioning profile by
IOS_BETA_BUNDLE_ID(internal vs beta). - Uses
IOS_BETA_PROVISIONING_PROFILE_INTERNAL_BASE64for internal builds and logs which profile is installed. - Validates application-identifier and
aps-environment=productionto prevent mismatches.
- Auto-selects provisioning profile by
-
Migration
- Add GitHub secret
IOS_BETA_PROVISIONING_PROFILE_INTERNAL_BASE64with the internal profile (base64). - Set
IOS_BETA_BUNDLE_ID=dev.cmux.app.internalfor internal builds.
- Add GitHub secret
Summary by CodeRabbit
- Bug Fixes
- Improved iOS beta build provisioning to support both internal and external testing profiles.
- Added validation to ensure provisioning profiles target the correct app and use production push notifications.
- Automatically selects and installs the appropriate profile for the selected beta environment.