|
15 | 15 | steps:
|
16 | 16 | - uses: actions/checkout@v4
|
17 | 17 |
|
18 |
| - - name: Setup Gradle build cache |
| 18 | + - name: Restore Gradle build cache |
19 | 19 | uses: gradle/actions/setup-gradle@v3
|
| 20 | + |
20 | 21 | - name: Setup Flutter
|
21 | 22 | uses: subosito/flutter-action@v2
|
22 | 23 | with:
|
|
58 | 59 | disable-animations: false
|
59 | 60 | script: echo "Generated AVD snapshot for caching."
|
60 | 61 |
|
| 62 | + # run tests on android AVD |
61 | 63 | - name: Write test_auth_info.dart secrets
|
62 | 64 | run: printf "${{ secrets.TEST_AUTH_INFO_B64 }}" | base64 -d > test_auth_info.dart
|
63 | 65 |
|
|
70 | 72 | disable-animations: true
|
71 | 73 | script: flutter drive --driver=test_driver/integration_driver.dart --target=integration_test/main.dart
|
72 | 74 |
|
| 75 | + mobile-ios: |
| 76 | + name: Build & Test Mobile App (iOS) |
| 77 | + runs-on: ubuntu-22.04 |
| 78 | + steps: |
| 79 | + - name: Setup Flutter |
| 80 | + uses: subosito/flutter-action@v2 |
| 81 | + with: |
| 82 | + channel: stable |
| 83 | + flutter-version-file: pubspec.yaml |
| 84 | + |
| 85 | + - name: Restore Xcode build cache |
| 86 | + uses: irgaly/xcode-cache@v1 |
| 87 | + with: |
| 88 | + key: xcode-cache-deriveddata-${{ github.workflow }}-${{ github.sha }} |
| 89 | + restore-keys: xcode-cache-deriveddata-${{ github.workflow }}- |
| 90 | + |
| 91 | + - name: Build iOS IPA |
| 92 | + run: flutter build ipa |
| 93 | + |
| 94 | + - name: Upload iOS IPA |
| 95 | + uses: actions/upload-artifact@v4 |
| 96 | + with: |
| 97 | + name: flowmotion-debug.ipa |
| 98 | + path: build/ios/ipa/Runner.ipa |
| 99 | + |
| 100 | + - name: Boot iOS simulator |
| 101 | + uses: futureware-tech/simulator-action@v3 |
| 102 | + with: |
| 103 | + model: "iPhone 15" |
| 104 | + os: "iOS" |
| 105 | + os_version: "17.4" |
| 106 | + |
| 107 | + # run tests on ios simulator |
| 108 | + - name: Write test_auth_info.dart secrets |
| 109 | + run: printf "${{ secrets.TEST_AUTH_INFO_B64 }}" | base64 -d > test_auth_info.dart |
| 110 | + |
| 111 | + - name: Test Mobile App (iOS) |
| 112 | + run: flutter drive --driver=test_driver/integration_driver.dart --target=integration_test/main.dart |
| 113 | + |
73 | 114 | pipeline:
|
74 | 115 | strategy:
|
75 | 116 | fail-fast: false
|
|
0 commit comments