feat: Fastlane-based TestFlight publishing via GitHub Actions#53
Open
devin-ai-integration[bot] wants to merge 3 commits into
Open
feat: Fastlane-based TestFlight publishing via GitHub Actions#53devin-ai-integration[bot] wants to merge 3 commits into
devin-ai-integration[bot] wants to merge 3 commits into
Conversation
- Gemfile with fastlane ~> 2.225 - fastlane/Appfile with app identifier and team ID - fastlane/Fastfile with beta lane: ASC API key auth, cert import, sigh profile download, changelog from git tags, build_app, upload_to_testflight - .github/workflows/testflight.yml triggered on push to main + workflow_dispatch - docs/TESTFLIGHT.md with full setup guide (secrets, API key creation, cert export, provisioning profiles, changelog, local run, troubleshooting) - .gitignore updated for Fastlane artifacts Co-Authored-By: bot_apk <apk@cognition.ai>
Contributor
Author
🤖 Devin AI EngineerI'll be helping with this pull request! Here's what you should know: ✅ I will automatically:
Note: I can only respond to comments from users who have write access to this repository. ⚙️ Control Options:
|
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
The generic-api-key rule matches placeholder secret names like IOS_DISTRIBUTION_CERTIFICATE_P12 in the setup documentation. Same pattern as the existing Secrets.xcconfig.example allowlist. Co-Authored-By: bot_apk <apk@cognition.ai>
Co-Authored-By: bot_apk <apk@cognition.ai>
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds a complete Fastlane + GitHub Actions pipeline that builds the iOS app and uploads it to TestFlight on every push to
main(or manualworkflow_dispatch).What's added
Gemfilefastlane ~> 2.225fastlane/Appfileapp_identifier+team_id(env-overridable)fastlane/Fastfileios betalane — see below.github/workflows/testflight.ymlfastlane ios beta, tags on successdocs/TESTFLIGHT.md.gitignorereport.xml,profiles/,vendor/bundle/, etc.).gitleaks.tomldocs/TESTFLIGHT.md(placeholder secret names triggergeneric-api-key)fastlane ios betalane flowsetup_ci(temp keychain on CI)app_store_connect_api_key— modern API key auth viaASC_KEY_ID/ASC_ISSUER_ID/ASC_KEY_CONTENTIOS_DISTRIBUTION_CERTIFICATE_P12(base64 P12)sighdownloads App Store provisioning profiles forcom.bhat.intel+com.bhat.intel.LoopSharevia the API keyincrement_build_number→GITHUB_RUN_NUMBERlast_git_tag..HEAD(falls back to last 50 commits if no tags)build_app— archivesLoop_iOSscheme, exports withapp-store+ manual signingupload_to_testflight— distributes to external groups ifTESTFLIGHT_GROUPSis setRequired GitHub secrets
ASC_KEY_ID,ASC_ISSUER_ID,ASC_KEY_CONTENT(base64 .p8),APPLE_TEAM_ID,IOS_DISTRIBUTION_CERTIFICATE_P12(base64 P12),IOS_CERTIFICATE_PASSWORDOptional:
TESTFLIGHT_GROUPS(comma-separated beta group names for external distribution)Manual setup Ash must do
ASC_KEY_ID,ASC_ISSUER_ID, base64-encoded.p8asASC_KEY_CONTENT.p12from Keychain Access → base64-encode →IOS_DISTRIBUTION_CERTIFICATE_P12+IOS_CERTIFICATE_PASSWORDAPPLE_TEAM_ID(currently6HT9LCU3B7)TESTFLIGHT_GROUPSto distribute to external testersFull details in
docs/TESTFLIGHT.md.Assumptions
Loop_iOS(fromxcshareddata/xcschemes/Loop_iOS.xcscheme)sigh+ ASC API key (no match repo needed)testflight/<run_number>for changelog anchoringSecrets.xcconfigis written at build time fromAPPLE_TEAM_ID(gitignored, same pattern as README setup)Link to Devin session: https://app.devin.ai/sessions/c2b999b9520646c89b4d2321e8ba4816