Skip to content
Documentation menu

Triggering & managing builds

Push to build, or trigger by hand — either way, every run is logged.

Automatic builds on push

Every push to a project's configured branch starts a build for each platform you've enabled. A new push to the same branch cancels the in-flight run for it, so you never end up waiting behind a commit you've already superseded.

Manual builds

Trigger a build from the project dashboard at any time, without needing a new commit — useful for re-running a build after fixing a secret, or building an older commit again.

Staging vs. production

Staging compiles an unsigned Android debug build and an Ad Hoc-signed iOS build, installable over the air — see installing staging builds. It's available on every plan, without limit.

Production produces a signed release build. It's gated server-side by plan: on the Free plan, a production build request is rejected before it ever reaches GitHub, with a clear message explaining why. Starter and above can build production. See plans & limits.

Build history & logs

Every run keeps its status, duration, commit, branch, and full logs, so you can always tell whether last night's release actually shipped — and why, if it didn't.