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.

跳到安装

来源信息

仓库
abcnuts/manus-skills
最近来源活动
2026年2月12日 23:52
检测到的 SKILL.md 语言
英语
星标
69
分支
46

安装方式

默认使用会先检查来源的 Prompt;你也可以切换为直接命令,或下载本地副本。

检查来源文件

决定是否安装前,请先阅读 SKILL.md,以及 SkillsMP 当前展示的配套文件。

文件资源管理器
8 个文件

正在显示 SKILL.md

SKILL.md
来源说明 · 只读预览
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
在 GitHub 查看