TestFlight #3
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
| name: TestFlight | |
| # Manual trigger — you choose when to ship a build to TestFlight. | |
| # Runs on macos-26 (Xcode 26 / iOS 26 SDK), so no local macOS/Xcode is needed. | |
| on: | |
| workflow_dispatch: | |
| jobs: | |
| upload: | |
| name: Archive & upload to TestFlight | |
| runs-on: macos-26 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Show toolchain | |
| run: | | |
| xcodebuild -version | |
| xcodebuild -showsdks | grep -i ios || true | |
| - name: Write App Store Connect API key | |
| env: | |
| ASC_KEY_BASE64: ${{ secrets.ASC_KEY_BASE64 }} | |
| run: | | |
| mkdir -p "$RUNNER_TEMP/private_keys" | |
| printf '%s' "$ASC_KEY_BASE64" | openssl base64 -d -A \ | |
| > "$RUNNER_TEMP/private_keys/AuthKey.p8" | |
| - name: Archive & upload | |
| env: | |
| ASC_KEY_ID: ${{ secrets.ASC_KEY_ID }} | |
| ASC_ISSUER_ID: ${{ secrets.ASC_ISSUER_ID }} | |
| # Unique, monotonic build number per run so uploads never collide. | |
| BUILD_NUMBER: ${{ github.run_number }} | |
| run: | | |
| export ASC_KEY_PATH="$RUNNER_TEMP/private_keys/AuthKey.p8" | |
| ./.codeyam/store/appstore/upload-testflight.sh |