CI/CD demonstration
Ohara Release Lab
A synthetic mobile release, wired end to end.
This is a public-safe rebuild of the kind of control tower I run for mobile CI/CD: one push fans out across Android and iOS, drains through a shared runner queue, and ends in a signed rollout. Change the controls to see how capacity, caching, and duplicate cancellation move the queue estimate — and how Franky diagnoses a failure while Morgans posts the release note. Every number is generated from a fixed synthetic workload for the fictional Straw Hat Mobile app; nothing here touches a real system.
Rebuilt demonstration · synthetic data · no live Mekari systems.
- Ohara
- Ohara — the control tower that turns build events into an inspectable queue.
- Franky
- Franky — the mechanic desk that reads a failed run and names the root cause.
- Morgans
- Morgans — the news desk that posts a one-line release notification.
Prefer the full story? Read the Ohara case study.
Controls
Simulation updated: Release shipped — 64/64 builds cleared in ~104 min on 3 runners; 8 runner-jobs wasted, 100% success.
Run result
- Queue estimate
- ~104 minTime to drain the queue across all runners.
- Completed builds
- 64Useful builds that finished successfully.
- Wasted work
- 8 jobsRunner time spent on superseded or retried builds.
- Success rate
- 100%Share of attempted useful builds that passed.
Franky · diagnosis
All lanes green — checks, Android, and iOS fan-out cleared with no reruns.
Morgans · notification
Release shipped — 64/64 builds cleared in ~104 min on 3 runners; 8 runner-jobs wasted, 100% success.
Synthetic run manifest
- Straw Hat Mobile · Shared checks
- Straw Hat Mobile · Android
- Straw Hat Mobile · iOS
Pipeline flow
One push fans out across 10 stages, from PR to staged rollout.
1. Pull request
A push lands on an open Straw Hat Mobile PR.
2. Rules layer
One webhook rules pass decides what to dispatch.
3. PR checks
Lint, unit tests, and format gates run first.
4. Android build
Gradle assembles the release variant.
5. Android tests
Instrumentation suite on emulators.
6. iOS build
Xcode archives the app.
7. iOS tests
XCTest suite on simulators.
8. Signing
Provisioning profile + certificate applied.
9. Distribution
Signed artifacts pushed to the beta track.
10. Rollout
Staged rollout opens; Morgans posts the note.
Rebuilt demonstration · synthetic data · no live Mekari systems.