The pipeline for building & publishing your Flutter app for different target platforms.
Features
General
- Specify platforms, build commands, and your preferences in
pubspec.yaml - Logs the output of all build & publish commands for future reviews
iOS & macOS
- Publishing the iOS app to App Store
- Optional clearing of XCode's derived data for consistent builds
Android
- Publishing the Android app to the Play Store
Web
- Adds the version query paramter to build files post-build to solve the caching problem of Flutter web (e.g.
flutter_bootstrap.js?v=0.12.1)
Usage
Once the configuration is added to your project, you can run the desired command via:
# To build for all given platforms
dart run build_pipe:build
# The build command will funnel all the args passed (e.g., --dart-define) to the build
# commands on all platforms
# This allows github actions etc to pass environment vars down to the build cmd without editing the yaml file
# The build command, as of now, does not have any args or flags of its own
dart run build_pipe:build --dart-define=ENVIRONMENT=prod
# To publish the built app to the given platforms
dart run build_pipe:publish
Read the topics below to setup and configure your project. The configuration is quite simple, and you just need to do it once.