Go/No-Go
On real phones

Is my new build shippable?

One question, one answer. Go/No-Go installs your APK on a real device, walks the regression checklist and returns a verdict — together with what changed since the previous version, screenshots included.

No credit card to start. Secure payment through Stripe when you change plan.

Version 1.4.2 → 1.5.0
GO

9 checks measured, no blocker. 3 checks were not measured.

  • Clean install
  • In-place update
  • Cold start 1,240 ms
  • Monkey exploration (3 min) 0 crash
  • Visual comparison home
  • targetSdk 34
  • APK size 18.4 MB
  • New permissions none
  • versionCode 42
12 checks9 measured3 not measured

exit 0 — shippable

From one version to the next

What changed since 1.4.2

A verdict says nothing if it does not say what moved. Give the previous version: Go/No-Go compares, and flags anything that regresses.

Measurement1.4.21.5.0
Cold start1,180 ms1,240 ms+5%
APK size18.0 MB18.4 MB+2%
targetSdk3334up to date
New permissions—none0
versionCode4142increasing
Screens comparedhomehome1 screen
Three checks are not measured in phase 1. Permission denial, rotation/background/process death, airplane mode: the platform cannot drive them yet. They come out as skipped with their reason — never passed, never failed.

A false GO breaks a release; a false NO-GO blocks a legitimate one. A build that cannot go green on an unmeasured point says so instead of guessing.

In all honesty

What we do not do

A product that hides its limits wastes everybody's time. Here are ours, today.

  • Three checks are not measured: permission denial, rotation/background/process death, and airplane mode. The platform cannot drive them: they come out as `skipped`, never `passed`.
  • A crash that only happens on rotation is therefore not detected.
  • A check uses a single device: multi-device is not built, despite the 4 devices advertised by the single-check plan.
  • The content of the data is not read after an update; only the in-place update and the restart are checked.
  • Custom journeys (Maestro flows) are not wired up.
  • APK upload through the API does not exist in phase 1: the CLI uploads to Hangar itself. No GitHub Action, no badge, no iOS.
  • Visual comparison covers one screen only, the home screen: multiple screens require a journey.
  • Stripe is not wired up: the billing page says so and the payment route answers 503.
What it does

Concretely

A verdict, not a dashboard

GO, GO with reservations or NO-GO, plus the list of what changed since the previous version. No test suite to write, no matrix to configure: that is the difference with a test platform.

A checklist you write nothing for

Clean install, in-place update, cold start, a 3-minute `monkey` exploration with a fixed seed, visual comparison and static checks (`targetSdk`, APK size, new permissions, increasing `versionCode`).

An exit code that blocks a release

`gonogo check --apk … --wait` returns 0 for GO or GO with reservations, 1 for NO-GO and 2 when the check cannot run. In a release script, it stops everything before the Play Console.

A verdict page you can share

`GET /verdict/:token`: a standalone HTML page, no API key, where every point is listed with its evidence. It is the link you paste into a ticket or a team message.

What is not measured is written down

Three checks cannot be driven by the platform in phase 1: they come out as `skipped` with their reason, never `passed` and never failed. A false verdict costs more than no verdict.

Questions

Frequently asked questions

What does "not measured" mean?

The platform cannot yet deny a permission, rotate the screen or switch to airplane mode. Those three checks are reported as `skipped` with their reason: never `passed`, never failed — a false NO-GO blocks a legitimate release, a false GO breaks it.

Is the data content checked after an update?

No: the in-place update and the restart are checked, but the content of the data is not read. The check is marked "partially measured".

Does the same build always get the same verdict?

Yes. The exploration uses a fixed seed (424242), the same from one version to the next: no randomness, so two checks of the same build return the same verdict.

Can I add my own journeys?

Not yet: custom journeys (Maestro flows: sign-in, purchase…) will be added to the checklist, but they are not wired up, even though the platform `flow` job exists.

Can I upload an APK from the website?

Not in phase 1: the CLI uploads the file to the platform itself. APK upload through the API and manual upload on the site will come later.

Try it on a real phone

Create an account, take a key, run your first test. It is free to start.