testflight_ship
Build, sign, archive, and upload an iOS app to TestFlight, creating App Store profiles and refusing upload unless Maestro smoke flows pass.
Instructions
End-to-end TestFlight: distribution signing → archive → App Store profiles (the app and every
extension in project.yml, exact bundle-id match, created right before export so Xcode's profile
sweep cannot delete them) → manual-signing export → asc builds upload. Refuses unless the
Maestro smoke flows passed (maestro_test; n/a when the e2e_smoke run option is off). No system keychain password
(temporary keychain). Never submits to App Store review — it only uploads a TestFlight build.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| scheme | Yes | ||
| app_dir | Yes | ||
| project | Yes | ||
| bundle_id | Yes | ||
| approval_id | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||