[#169] Test upload testflight #21
Workflow file for this run
This file contains 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: ios-deploy-production-to-testflight | |
on: | |
# Trigger the workflow on push action | |
push: | |
branches: | |
- main | |
- chore/169-mirrored-workflow-ios | |
jobs: | |
build_and_upload_to_testflight: | |
name: Build And Upload iOS Application To TestFlight | |
runs-on: macOS-latest | |
environment: production | |
timeout-minutes: 30 | |
env: | |
TEAM_ID: ${{ secrets.TEAM_ID }} | |
FASTLANE_USER: ${{ secrets.FASTLANE_USER }} | |
FASTLANE_PASSWORD: ${{ secrets.FASTLANE_PASSWORD }} | |
FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD: ${{ secrets.FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD }} | |
FASTLANE_SESSION: ${{ secrets.FASTLANE_SESSION }} | |
MATCH_PASSWORD: ${{ secrets.MATCH_PASSWORD }} | |
KEYCHAIN_PASSWORD: ${{ secrets.KEYCHAIN_PASSWORD }} | |
GITHUB_RUN_NUMBER: ${{ secrets.GITHUB_RUN_NUMBER }} | |
steps: | |
- name: Check out | |
uses: actions/checkout@v3 | |
- name: Install SSH key | |
uses: webfactory/[email protected] | |
with: | |
ssh-private-key: ${{ secrets.SSH_PRIVATE_KEY }} | |
- name: Set up Flutter environment | |
uses: subosito/flutter-action@v2 | |
with: | |
channel: 'stable' | |
flutter-version: '3.10.5' | |
- name: Generate new project | |
run: | | |
dart pub global activate mason_cli | |
mason get | |
mason make template -c mason-config.json | |
# Move the generated project to the root directory for next steps & cleanup to not affect static code analysis | |
rsync -av --remove-source-files flutter_templates/ ./ | |
rm -rf bricks sample | |
- name: Get Flutter dependencies | |
run: flutter pub get | |
- name: Set up Production env | |
env: | |
ENV: ${{ secrets.ENV }} | |
run: | | |
echo -e ENV >> .env | |
- name: Run code generator | |
run: flutter packages pub run build_runner build --delete-conflicting-outputs | |
- name: Bundle install | |
run: cd ./ios && bundle install | |
- name: Pod install | |
run: cd ./ios && pod install | |
- name: Update fastlane | |
run: cd ./ios && bundle update fastlane | |
- name: Update plugins | |
run: cd ./ios && bundle exec fastlane update_plugins | |
- name: Match AppStore | |
run: cd ./ios && bundle exec fastlane sync_appstore_production_signing | |
env: | |
GITHUB_RUN_NUMBER: ${{ secrets.GITHUB_RUN_NUMBER }} | |
- name: Deploy to TestFlight | |
run: | | |
cd ./ios && bundle exec fastlane build_and_upload_testflight_production_app |