Runs shorebird release - a drop-in replacement for
flutter build that compiles your app and uploads its Dart artifacts to Shorebird's servers as the
baseline future patches diff against. You still need to upload the generated artifact
(.ipa/.apk/.aab) to the App Store / Play Store yourself (or via a follow-up deploy Step) - Shorebird
doesn't do that part.
Shorebird maintains its own private Flutter cache, independent of any system-installed Flutter. Leave
Flutter version empty to auto-detect the version of the system Flutter already on PATH (via
flutter --version --machine) and pass it through, keeping the Shorebird-built binary in lockstep with
whatever Flutter version the rest of your workflow uses - or set it explicitly to pin a version. If
Flutter isn't installed/found on PATH at all and no version is set explicitly, the Step fails with a
clear error - a Flutter Install (or FVM) Step must run before this one in that case.
Set Platform to both to release iOS and Android in one Step run - each platform is built and
published as its own shorebird release invocation, registered together as one version release.
Releasing for iOS (or both iOS and Android together) requires a macOS runner.
By default, three Android ABIs are compiled (arm, arm64, x86_64). Use Android target platform(s)
to restrict this to one or more specific architectures. Note this only applies to release - patches
never need it.
If you hit iOS provisioning/certificate errors: for local builds, enable "Automatically manage signing"
in Xcode's Signing & Capabilities tab. For CI, set up an ExportOptions.plist describing your export
method, provisioning profiles, signing certificate, signing style, and team ID, and point Export options
plist path at it.
Shorebird doesn't require App Store or Play Store publishing - it works with side-loading and MDM
distribution on Android (and enterprise iOS programs work similarly). Set Android artifact type to
apk to produce a directly installable .apk instead of an .aab.
This Step only creates new releases. To list, inspect, or delete existing releases, use the
shorebird releases CLI commands directly, or the Shorebird console.
Deleting a release from the console is irreversible and removes all of its patches.
shorebird.yaml (created by running shorebird init locally and committing the result) -
this Step fails fast with a clear error if it's missing.