TestFlight preparation + GlitchTip crash reporting #85
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
| name: ci-mobile | |
| on: | |
| push: | |
| branches: | |
| - main | |
| paths: | |
| - 'mobile/**' | |
| - 'packages/ferrostar_flutter/**' | |
| pull_request: | |
| paths: | |
| - 'mobile/**' | |
| - 'packages/ferrostar_flutter/**' | |
| jobs: | |
| test-mobile: | |
| name: Flutter tests (iOS) | |
| runs-on: macos-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: subosito/flutter-action@v2 | |
| with: | |
| channel: 'stable' | |
| cache: true | |
| - uses: extractions/setup-just@v3 | |
| - name: Install dependencies (plugin) | |
| working-directory: packages/ferrostar_flutter | |
| run: flutter pub get | |
| - name: Install dependencies (app) | |
| working-directory: mobile | |
| run: flutter pub get | |
| - name: Test plugin | |
| run: just test-ferrostar-flutter-plugin | |
| - name: Test app | |
| run: just test-mobile | |
| test-mobile-ios: | |
| name: Flutter integration tests (iOS simulator) | |
| runs-on: macos-latest | |
| if: github.event_name == 'push' | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: flutter-actions/setup-flutter@v3 | |
| with: | |
| channel: stable | |
| - uses: extractions/setup-just@v3 | |
| - name: Install dependencies (plugin) | |
| working-directory: packages/ferrostar_flutter | |
| run: flutter pub get | |
| - name: Install dependencies (app) | |
| working-directory: mobile | |
| run: flutter pub get | |
| - name: Boot iPhone 17 simulator | |
| run: | | |
| UDID=$(xcrun simctl list devices available --json \ | |
| | python3 -c " | |
| import json,sys | |
| devs = json.load(sys.stdin)['devices'] | |
| for runtime, devices in devs.items(): | |
| for d in devices: | |
| if 'iPhone 17' in d['name'] and d['isAvailable']: | |
| print(d['udid']); exit() | |
| ") | |
| xcrun simctl boot "$UDID" | |
| echo "SIM_UDID=$UDID" >> "$GITHUB_ENV" | |
| - name: Enable Flutter SPM integration | |
| working-directory: mobile | |
| run: flutter config --enable-swift-package-manager | |
| - name: Build (simulator, no codesign) | |
| working-directory: mobile | |
| run: flutter build ios --no-codesign --simulator | |
| - name: Run integration smoke test | |
| timeout-minutes: 10 | |
| run: just test-e2e-ios "$SIM_UDID" |