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.

Topics

Install & Setup

Platform Specific config and explanations

Misc.