Push Updates
Once you have published a release of your app, you can push updates using one
of the shorebird patch
commands.
- Android
- iOS (alpha)
shorebird patch android
shorebird patch ios-alpha
This will do several things:
- Builds the artifacts for the update.
- Downloads the corresponding release artifacts.
- Generates a patch using the diff between the release and the current changes.
- Uploads the patch artifacts to the Shorebird backend
- Promotes the patch to the stable channel.
Example output:
$ shorebird patch
β Building patch (3.0s)
β Fetching apps (0.2s)
β Detecting release version (0.3s)
β Fetching release (77ms)
β Fetching Flutter revision (15ms)
β Fetching release artifacts (0.3s)
β Downloading release artifacts (1.9s)
β Creating artifacts (4.1s)
π Ready to publish a new patch!
π± App: My App (61fc9c16)
π¦ Release Version: 0.1.0+1
πΊ Channel: stable
πΉοΈ Platform: android [arm64 (166.20 KB), arm32 (161.78 KB), x86_64 (161.51 KB)]
Would you like to continue? (y/N) Yes
β Creating patch (93ms)
β Uploading artifacts (1.5s)
β Fetching channels (86ms)
β Promoting patch to stable (78ms)
β
Published Patch!
If your application supports flavors or multiple release targets, you can specify the flavor and target using the --flavor
and --target
options:
shorebird patch --target ./lib/main_development.dart --flavor development
info
shorebird patch
wraps flutter build
and can take any argument
flutter build
can. To pass arguments to the underlying flutter build
you
need to put flutter build
arguments after a --
separator. For example:
shorebird patch android -- --dart-define="foo=bar"
will define the "foo"
environment
variable inside Dart as you might have done with flutter build
directly.