@@ -149,3 +149,52 @@ jobs:
149149 MATCH_PASSWORD : ${{ secrets.MATCH_PASSWORD }}
150150 APPSTORE_API_KEY : ${{ secrets.APPSTORE_API_KEY }}
151151 run : bundle exec fastlane distribute_to_firebase
152+
153+ ios_testflight :
154+ needs : determine_platforms
155+ if : ${{ needs.determine_platforms.outputs.run_ios == 'true' }}
156+ runs-on : macos-15 # Requires xcode 15 or later
157+ timeout-minutes : 30
158+ steps :
159+ - name : Connect Bot
160+ uses : webfactory/ssh-agent@v0.9.1
161+ with :
162+ ssh-private-key : ${{ secrets.BOT_SSH_PRIVATE_KEY }}
163+
164+ - name : " Git Checkout"
165+ uses : actions/checkout@v6
166+ with :
167+ fetch-depth : 0
168+
169+ - uses : maxim-lobanov/setup-xcode@v1
170+ with :
171+ xcode-version : ' 26.3'
172+
173+ - name : " Install Flutter"
174+ uses : subosito/flutter-action@v2
175+ with :
176+ flutter-version : ${{ env.FLUTTER_VERSION }}
177+ channel : stable
178+ cache-key : flutter-:os:-:channel:-:version:-:arch:-:hash:-${{ hashFiles('**/pubspec.lock') }}
179+
180+ - name : " Disable Swift Package Manager"
181+ run : flutter config --no-enable-swift-package-manager
182+
183+ - name : " Install Tools"
184+ run : flutter pub global activate melos
185+
186+ - name : " Bootstrap Workspace"
187+ run : melos bootstrap
188+
189+ - name : Setup Ruby
190+ uses : ruby/setup-ruby@v1
191+ with :
192+ bundler-cache : true
193+ working-directory : sample_app/ios
194+
195+ - name : Distribute to TestFlight Internal
196+ working-directory : sample_app/ios
197+ env :
198+ MATCH_PASSWORD : ${{ secrets.MATCH_PASSWORD }}
199+ APPSTORE_API_KEY : ${{ secrets.APPSTORE_API_KEY }}
200+ run : bundle exec fastlane distribute_to_testflight_internal
0 commit comments