Skip to main content

ios-testflight-github-actions

Automate iOS TestFlight deployments using GitHub Actions after initial manual setup. Use when setting up CI/CD for iOS apps, automating TestFlight uploads, configuring GitHub Actions workflows for mobile apps, or establishing automated deployment pipelines for React Native, Expo, Flutter, or native iOS projects. Requires one-time manual Apple Developer setup before automation can begin.

Zur Installation springen

Quellinformationen

Repository
abcnuts/manus-skills
Letzte Quellaktivität
12. Februar 2026 um 23:52
Erkannte Sprache von SKILL.md
Englisch
Sterne
69
Forks
46

Installationsoptionen

Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.

Quelldateien prüfen

Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.

Datei-Explorer
8 Dateien

SKILL.md wird angezeigt

SKILL.md
Quellanweisungen · Schreibgeschützte Vorschau
name
ios-testflight-github-actions
description
Automate iOS TestFlight deployments using GitHub Actions after initial manual setup. Use when setting up CI/CD for iOS apps, automating TestFlight uploads, configuring GitHub Actions workflows for mobile apps, or establishing automated deployment pipelines for React Native, Expo, Flutter, or native iOS projects. Requires one-time manual Apple Developer setup before automation can begin.
# iOS TestFlight GitHub Actions Automation Automate iOS TestFlight deployments using GitHub Actions with the official Apple-Actions/upload-testflight-build action. ## When to Use This Skill Use this skill when: - Setting up CI/CD for iOS mobile apps - Automating TestFlight uploads after manual first upload - User requests "automate TestFlight", "GitHub Actions iOS", or "CI/CD for mobile app" - Configuring deployment pipeline for React Native, Expo, Flutter, or native iOS apps - Transitioning from manual uploads to automated deployments ## Prerequisites **Before using this skill, user MUST complete one-time manual setup:** 1. ✅ Apple Developer account ($99/year) 2. ✅ App created in App Store Connect 3. ✅ App Store Connect API key generated 4. ✅ .p8 private key file downloaded 5. ✅ First build uploaded successfully via Transporter **If prerequisites are NOT met:** Direct user to complete manual setup first using the TestFlight installation guide. ## What This Skill Provides Complete GitHub Actions automation setup including: 1. **GitHub Actions workflow file** - `.github/workflows/deploy-testflight.yml` 2. **Setup instructions** - Step-by-step guide for adding secrets 3. **Build configuration** - Expo EAS or Xcode build integration 4. **Deployment triggers** - Manual, tag-based, or branch-based 5. **Testing guide** - How to verify the automation works 6. **Troubleshooting** - Common issues and solutions ## Core Workflow ### Phase 1: Verify Prerequisites Before starting automation setup, verify user has completed manual setup: **Questions to ask:** - "Have you successfully uploaded your first build to TestFlight manually?" - "Do you have your App Store Connect API key (.p8 file)?" - "Do you have the Key ID and Issuer ID from App Store Connect?" **If NO to any:** Stop and direct user to complete manual setup first. **If YES to all:** Proceed with automation setup. ### Phase 2: Gather Project Information Collect essential details about the project: **Required Information:** - Project type (Expo, React Native, Flutter, native iOS) - Repository location (GitHub repo URL or name) - Build method (Expo EAS, Xcode, fastlane) - Bundle ID / App ID - Deployment trigger preference (manual, on tag, on push to main) **For Expo projects:** - EAS project ID - Expo account credentials (if needed) **For native iOS projects:** - Xcode project/workspace path - Scheme name - Build configuration (Release, Production, etc.) ### Phase 3: Create GitHub Actions Workflow Generate `.github/workflows/deploy-testflight.yml` based on project type. #### 3.1: Expo Projects Use the Expo workflow template from `templates/expo-testflight-workflow.yml`: **Key steps:** 1. Checkout code 2. Setup Node.js 3. Install dependencies 4. Build with EAS (`eas build --platform ios --profile production`) 5. Download .ipa artifact 6. Upload to TestFlight using Apple-Actions **Trigger options:** - Manual: `workflow_dispatch` - On tag: `push: tags: ['v*']` - On main branch: `push: branches: ['main']` #### 3.2: Native iOS / React Native Projects Use the native iOS workflow template from `templates/native-ios-testflight-workflow.yml`: **Key steps:** 1. Checkout code 2. Setup Xcode 3. Install dependencies (CocoaPods, npm) 4. Build and archive with xcodebuild 5. Export .ipa 6. Upload to TestFlight using Apple-Actions **Build command example:** ```bash xcodebuild archive \ -workspace MyApp.xcworkspace \ -scheme MyApp \ -configuration Release \ -archivePath build/MyApp.xcarchive ``` #### 3.3: Configure Apple-Actions All workflows use the official `apple-actions/upload-testflight-build@v3` action: ```yaml - name: Upload to TestFlight uses: apple-actions/upload-testflight-build@v3 with: app-path: path/to/app.ipa issuer-id: ${{ secrets.APPSTORE_ISSUER_ID }} api-key-id: ${{ secrets.APPSTORE_API_KEY_ID }} api-private-key: ${{ secrets.APPSTORE_API_PRIVATE_KEY }} ``` ### Phase 4: Setup GitHub Secrets Create comprehensive instructions for adding secrets to GitHub repository. **Required Secrets:** | Secret Name | Description | How to Get | |------------|-------------|------------| | `APPSTORE_ISSUER_ID` | App Store Connect Issuer ID | App Store Connect → Users and Access → Keys → Issuer ID | | `APPSTORE_API_KEY_ID` | API Key ID | App Store Connect → Users and Access → Keys → Key ID | | `APPSTORE_API_PRIVATE_KEY` | .p8 private key content | Copy entire content of AuthKey_XXXXX.p8 file | **Step-by-step instructions:** 1. Go to GitHub repository → Settings → Secrets and variables → Actions 2. Click "New repository secret" 3. Add each secret with exact name and value 4. Verify all three secrets are added **For Expo projects, also add:** - `EXPO_TOKEN` (if using EAS) ### Phase 5: Create Setup Documentation Generate `docs/GITHUB_ACTIONS_SETUP.md` with: **Contents:** 1. Overview of the automation 2. Prerequisites checklist 3. Step-by-step setup instructions 4. How to trigger deployments 5. How to monitor workflow runs 6. Troubleshooting common issues 7. Next steps and best practices **Include:** - Screenshots or ASCII diagrams of GitHub UI - Example workflow run output - Links to relevant documentation - Estimated setup time (15-30 minutes) ### Phase 6: Test the Automation Provide testing instructions: **Manual Trigger Test:** 1. Go to GitHub → Actions tab 2. Select "Deploy to TestFlight" workflow 3. Click "Run workflow" 4. Select branch 5. Click "Run workflow" button 6. Monitor progress in real-time 7. Verify build appears in TestFlight **Tag-Based Trigger Test (if configured):** 1. Create and push a new tag: `git tag v1.0.1 && git push origin v1.0.1` 2. Workflow should trigger automatically 3. Monitor in Actions tab 4. Verify build in TestFlight **Expected Timeline:** - Expo builds: 15-30 minutes - Native iOS builds: 10-20 minutes - TestFlight processing: 5-15 minutes after upload ### Phase 7: Deliver and Document **Deliverables:** 1. `.github/workflows/deploy-testflight.yml` - GitHub Actions workflow 2. `docs/GITHUB_ACTIONS_SETUP.md` - Setup instructions 3. `docs/DEPLOYMENT_GUIDE.md` - How to use the automation 4. `docs/TROUBLESHOOTING.md` - Common issues and solutions **Commit and push files:** ```bash git add .github/workflows/deploy-testflight.yml docs/ git commit -m "Add GitHub Actions automation for TestFlight deployments" git push origin main ``` **Inform user:** - Automation is ready to use - Next steps: Add GitHub secrets - How to trigger first automated deployment - Where to monitor workflow runs ## Troubleshooting ### Common Issues **Issue 1: "Invalid API Key"** - **Cause:** Incorrect API key, Key ID, or Issuer ID - **Solution:** Verify all three values in GitHub secrets match App Store Connect - **Check:** .p8 file content copied completely including BEGIN/END lines **Issue 2: "Build Not Found"** - **Cause:** .ipa file path incorrect - **Solution:** Check artifact download path and update `app-path` in workflow - **Debug:** Add `ls -la` step to list files after build **Issue 3: "Code Signing Failed"** - **Cause:** Missing or expired provisioning profile - **Solution:** Update provisioning profiles in Apple Developer Portal - **Note:** Expo handles this automatically, native iOS requires manual management **Issue 4: "Workflow Doesn't Trigger"** - **Cause:** Incorrect trigger configuration or branch name - **Solution:** Verify `on:` section matches your git workflow - **Test:** Use `workflow_dispatch` for manual testing first **Issue 5: "TestFlight Upload Times Out"** - **Cause:** Large .ipa file or slow network - **Solution:** Increase timeout in workflow (default 30 minutes) - **Add:** `timeout-minutes: 60` to upload step ## Success Criteria A successful automation setup should: - [ ] GitHub Actions workflow file created and committed - [ ] All required secrets added to GitHub repository - [ ] Workflow successfully triggers (manual or automatic) - [ ] Build completes without errors - [ ] .ipa file uploads to TestFlight - [ ] Build appears in TestFlight within 15 minutes - [ ] Documentation created for team reference - [ ] User can trigger deployments independently
Auf GitHub ansehen