Automate Flutter Releases with Shorebird + GitHub Actions (Skip App Store Review)
A real pain point for mobile apps is waiting days or weeks for App Store and Play Store reviews whenever you need to ship a fix or a small update to users. That exact problem is what we are solving in this article. I’ll show you exactly how to automate your Flutter releases and patches using Shorebird and GitHub Actions, so you can push updates to users in minutes instead of waiting for store…
Mobile app developers often face delays in releasing updates to the App Store and Play Store due to review processes. This article demonstrates how to automate Flutter releases using Shorebird and GitHub Actions, allowing for faster updates to users. The process involves setting up authentication and creating a CI pipeline for both full releases and instant code-push updates.
Prerequisites include having a Shorebird account, Shorebird CLI installed, a Flutter project with Shorebird initialized, and a GitHub repository. Basic knowledge of GitHub Actions is also required. If Shorebird hasn't been set up in your Flutter app yet, follow the video tutorial on YouTube.
Authentication with Shorebird requires creating an API key in the Shorebird Console and adding it as a secret in your GitHub repository. This token can then be accessed in GitHub Actions workflows as ${{ secrets.SHOREBIRD_TOKEN }}.
Shorebird provides three official GitHub Actions: shorebirdtech/setup-shorebird@v1 for installing Shorebird on the runner, shorebirdtech/shorebird-release@v1 for creating releases, and shorebirdtech/shorebird-patch@v1 for patches. Using these actions simplifies the process compared to manual CLI calls.
The release workflow can be set up by creating a .github/workflows/shorebird-release.yml file in your project. This workflow triggers on version tags or manual initiation, sets the SHOREBIRD_TOKEN as an environment variable, pins the Flutter version, checks out the code, sets up Java for Android, decodes keystores and certificates from secrets, runs the shorebird-release action, and uploads artifacts.
For Android, secrets needed include your key alias, key password, store password, and base64 encoded keystore. For iOS, secrets include the base64 encoded .p12 certificate, password, and base64 encoded provisioning profile. After completing the workflow, signed artifacts are ready to be uploaded to the respective app stores.
Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.