@@ -10,26 +10,57 @@ permissions:
1010
1111jobs :
1212 deploy :
13- runs-on : macos-26
13+ runs-on : ${{ matrix.os }}
1414
1515 strategy :
1616 matrix :
17- platform : [ ios, android ]
17+ include :
18+ - platform : ios
19+ os : macos-26
20+ - platform : android
21+ os : ubuntu-latest
1822 fail-fast : false
1923
2024 steps :
2125 - uses : actions/checkout@v4
2226
27+ - name : Setup Ruby and install gems
28+ uses : ruby/setup-ruby@v1
29+ with :
30+ ruby-version : ' 3.3'
31+ working-directory : ${{ matrix.platform }}
32+ bundler-cache : true
33+
2334 - if : matrix.platform == 'android'
2435 uses : actions/setup-java@v3
2536 with :
2637 distribution : ' corretto'
2738 java-version : ' 21'
39+ cache : ' gradle'
2840
2941 - name : Setup Flutter
3042 uses : subosito/flutter-action@v2
3143 with :
3244 channel : stable
45+ cache : true
46+
47+ - if : matrix.platform == 'ios'
48+ name : Cache CocoaPods
49+ uses : actions/cache@v4
50+ with :
51+ path : |
52+ ios/Pods
53+ ~/.cocoapods
54+ key : ${{ runner.os }}-pods-${{ hashFiles('ios/Podfile.lock') }}
55+ restore-keys : ${{ runner.os }}-pods-
56+
57+ - if : matrix.platform == 'ios'
58+ name : Cache Xcode DerivedData (SPM + compiled pods)
59+ uses : actions/cache@v4
60+ with :
61+ path : ios/DerivedData
62+ key : ${{ runner.os }}-deriveddata-${{ hashFiles('ios/Runner.xcworkspace/xcshareddata/swiftpm/Package.resolved', 'ios/Podfile.lock') }}
63+ restore-keys : ${{ runner.os }}-deriveddata-
3364
3465 - name : Install Flutter Packages
3566 run : |
5485 name : Build and Deploy With Release Notes to TestFlight
5586 run : |
5687 cd ./ios
57- fastlane ios_beta
88+ bundle exec fastlane ios_beta
5889 env :
5990 APP_STORE_CONNECT_API_KEY_ID : ${{ secrets.ASC_KEY_ID }}
6091 APP_STORE_CONNECT_ISSUER_ID : ${{ secrets.ASC_ISSUER_ID }}
6899 name : Build and Deploy to TestFlight
69100 run : |
70101 cd ./ios
71- fastlane ios_beta
102+ bundle exec fastlane ios_beta
72103 env :
73104 APP_STORE_CONNECT_API_KEY_ID : ${{ secrets.ASC_KEY_ID }}
74105 APP_STORE_CONNECT_ISSUER_ID : ${{ secrets.ASC_ISSUER_ID }}
87118 name : Deploy to Google Play Store
88119 run : |
89120 cd ./android
90- fastlane android_beta
121+ bundle exec fastlane android_beta
91122 env :
92123 GOOGLE_PLAY_SERVICE_ACCOUNT_KEY : ${{ secrets.GOOGLE_PLAY_SERVICE_ACCOUNT_KEY }}
93124 ANDROID_KEYSTORE_FILE : ./upload-keystore
99130 name : Build Release APK
100131 run : |
101132 cd ./android
102- fastlane android_apk
133+ bundle exec fastlane android_apk
103134 env :
104135 GOOGLE_PLAY_SERVICE_ACCOUNT_KEY : ${{ secrets.GOOGLE_PLAY_SERVICE_ACCOUNT_KEY }}
105136 ANDROID_KEYSTORE_FILE : ./upload-keystore
0 commit comments