Self-hosted release CI for Flutter
Push a tag. Ship to both stores.
Tag v1.4.2 and deploy builds, signs, and submits your app to
Google Play and the App Store — for review, automatically, from a server you own.
How it works
Connect a repo
Pick repos through the GitHub App — no long-lived tokens. Builds run on GitHub Actions out of the box (nothing to install), or on your own machines for speed.
Add signing config once
Upload keystore, certificates, and store API keys one time. Encrypted at rest, streamed only to the worker assigned to your build.
Push version tags
Every tag matching v* becomes a store release: built, signed, submitted, with live logs and an email when it lands.
Why deploy
iOS builds without a Mac
Tag pushes self-trigger GitHub's macOS runners. Signing configs stay on your server — GitHub only ever holds a worker token.
Live logs, real state
Watch every build stream in real time, from queued to shipped, with artifacts kept on your own disk.
Your hardware, if you want it
Optionally plug in any machine of yours as a worker — faster warm builds, no per-minute billing, no concurrency upsell.
Secrets stay home
Keystores, certificates, and API keys are encrypted at rest and never stored with a third party.
Plans
Free
- Full pipeline: build, sign, submit
- Google Play + App Store
- GitHub Releases for sideloaded apps
- Unlimited builds on your workers
Pro PRO
- Everything in Free
- Shorebird code push — ship fixes over the air between store releases
- Patch tags (
patch-1.0.2+3)