Shipping mobile apps
Relay detects the apps in your repos (Flutter, native iOS, native Android, and more), including several apps in one monorepo. Framework projects own their native folders, so a Flutter app’s ios/Runner.xcodeproj isn’t counted as a second app.
The Actions tab suggests ready-made build and ship actions for each app it finds.
A Flutter app to both stores
Section titled “A Flutter app to both stores”actions: ship-testflight: name: Ship to TestFlight ask_first: true options: FLAVOR: [dev, production] RELEASE_NOTES: text steps: - run: flutter build ipa --release --flavor $FLAVOR -t $FLUTTER_TARGET --build-number $BUILD_NUMBER timeout: 45 - app_store: build/ios/ipa/*.ipa credentials: Acme
ship-play-internal: name: Ship to Play internal options: FLAVOR: [dev, production] steps: - run: flutter build appbundle --release --flavor $FLAVOR -t $FLUTTER_TARGET --build-number $BUILD_NUMBER - play_store: build/app/outputs/bundle/${FLAVOR}Release/*.aab track: internal release: draft$BUILD_NUMBERis the next number after the latest build in the store.$FLUTTER_TARGETpoints atlib/main_<flavor>.dartwhen it exists.- The Play package name is read from the app’s Gradle file unless you set
package:. RELEASE_NOTESbecomes the release notes for a Play upload.
Then from Slack:
@relay ship production to TestFlight