GitHub Actions macOS
Default iOS build and signing runner
Customer repo can use hosted macOS minutes and normal App Store signing.
Queue time and hosted-minute cost can vary by plan.
shipker.dev
new project intake
Shipker turns a mobile repository into a repeatable release pipeline. It connects the repo and store accounts, creates signing material for new apps, then asks only for metadata and release details that cannot be inferred safely.
Template files
9Fastlane + Actions
Store connects
2Fetch app metadata
User signing prompts
0New apps only
repo: github.com/acme/mobile
stack: flutter
platforms: iOS + Android
stores: App Store Connect + Google Play Console
generated signing: iOS + Android
patch: 9 template files
runner:
1. GitHub Actions macOS
2. Azure macOS
3. Local macc
next: open setup pull requesttemplate application
.github/workflows/ci-ios.ymlBuilds signed IPA artifacts and can upload to TestFlight.
.github/workflows/android-deploy.ymlBuilds signed AAB artifacts and can upload to Google Play.
ios/fastlane/FastfileRuns iOS signing, archive, export, and TestFlight upload lanes.
ios/fastlane/MatchfilePoints fastlane match at the private signing repository.
ios/fastlane/AppfileReads the iOS bundle id and Apple team from environment secrets.
android/fastlane/FastfileUploads AAB files to the requested Play Console track.
android/app/build.gradle.ktsUses environment secrets for Android signing configuration.
ios/Runner/Info.plistKeeps iOS app metadata compatible with automated builds.
ios/Runner.xcodeproj/project.pbxprojApplies stable iOS project signing and bundle settings.
connect first
API key with least-privilege app access
Play Developer API access through an approved service account
new apps first
For this beta Shipker starts with new App Store and Google Play apps. After the store accounts are connected, Shipker creates the iOS signing repo, Apple distribution certificate, provisioning profile, and Android upload key behind the scenes.
Existing app migrations will come later because Android and some Apple capability edge cases need a separate recovery flow.
release sequence
Use the GitHub session and selected repository from sign-in.
Connect App Store Connect and Google Play Console where those platforms are enabled.
Detect stack, platforms, package identifiers, new app store targets, and existing CI files.
Create a setup branch that applies the deployment template safely.
Generate new-app signing material automatically for iOS and Android.
Prompt only for app metadata, release track, and compliance details that cannot be inferred safely.
Write generated signing values to GitHub Actions or encrypted signing storage.
Open a pull request with the generated deployment plan.
Run Android and iOS dry builds, then enable store uploads when green.
ios runner policy
Default iOS build and signing runner
Customer repo can use hosted macOS minutes and normal App Store signing.
Queue time and hosted-minute cost can vary by plan.
Secondary cloud macOS runner
GitHub macOS limits, pricing, or availability block the release.
Needs separate pool setup and careful secret mirroring.
Controlled fallback for iOS signing
Cloud macOS cannot access signing safely or a customer needs hands-on runner debugging.
Must be isolated, monitored, and treated as a privileged signing machine.