Skip to content

TestFlight preparation + GlitchTip crash reporting #85

TestFlight preparation + GlitchTip crash reporting

TestFlight preparation + GlitchTip crash reporting #85

Workflow file for this run

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"