Use case

Ship every CI build to testers automatically

AirBuild's Go CLI and REST API let any CI pipeline — GitHub Actions, GitLab CI, Bitrise, or a plain shell script — upload builds, mint install links, and notify testers automatically on every merge, with no manual upload step.

The manual step in an otherwise automated pipeline

Most teams automate building and signing, then stop: someone downloads the artifact from CI, uploads it to a distribution tool by hand, and pastes a link into Slack. That manual step is where builds stall, links get lost, and testers end up on stale versions.

How it works

  1. 1

    Add the CLI to your pipeline

    airbuild is a single static Go binary — download it in any CI environment with no runtime dependencies, and authenticate once with an API key.

  2. 2

    Upload on every merge or tag

    Run `airbuild upload <file>` as a post-build step. Metadata (version, bundle ID, icon, checksum) is parsed server-side — your pipeline stays a one-liner.

  3. 3

    Link and notify automatically

    Every upload produces an install link immediately; fire a webhook or post it to Slack so testers get the new build the moment CI finishes.

  4. 4

    Push OTA patches from CI too

    The same CLI publishes Flutter patches and React Native bundles — promote a patch to a staging channel on merge, and to production after a human gate.

Related features

Streaming IPA/APK upload

Live

Multipart streaming upload with automatic bundle ID, version, icon, and checksum extraction — no full-file buffering.

REST API + API keys

Live

Full programmatic access to upload builds, manage apps, and create links via API keys.

Webhooks

Live

Subscribe to build-ready, install, and UDID-captured events for your own automation.

Go CLI

Live

Cross-platform command-line tool for CI/CD — upload builds and manage apps from any pipeline.

See all features →

Frequently asked questions

Which CI systems does the CLI work with?

Any CI that can run a binary — GitHub Actions, GitLab CI, Bitrise, CircleCI, Jenkins, or a bare shell script. It's a single static Go binary with no Node or Docker requirement.

Can I call the API directly instead of using the CLI?

Yes — the REST API exposes upload, app management, and link creation; API keys authenticate both the CLI and direct API calls.

How do testers learn about new builds?

Configure a webhook on build-ready or install events and forward it to Slack, Discord, or email — the link is live the moment upload processing completes.

Can CI publish OTA updates as well as binaries?

Yes — `airbuild codepush flutter patch` and `airbuild codepush react-native publish` produce patches/bundles in CI, and `promote`/`rollback` commands control the rollout.

Ship your next build in seconds

Free plan available. No credit card required to start.