bedrock
Docs
Sign in

GitHub Actions

Push code, bedrock builds it — no interactive step anywhere. A composite action wraps the CLI so a runner with no Android SDK can still produce a signed release build.

1. Get a token

bedrock login issues one per browser sign-in, which doesn't work in CI — create one directly instead:

bedrock token create --name "GitHub Actions"

Prints the token once. Add it as a repo secret named BEDROCK_API_TOKEN (Settings → Secrets and variables → Actions) — or create the token from the dashboard's API Tokens page instead, if you'd rather not touch a terminal for this step.

2. Add the workflow

Your repo needs a bedrock.json already committed (run bedrock init once locally first — see Coding agents for why that step stays interactive).

name: bedrock build
on: push
jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: ThembinkosiThemba/bedrock-github-action@v1
        with:
          api-token: ${{ secrets.BEDROCK_API_TOKEN }}

What you get

A push triggers a real remote build — same Vercel Sandbox path as bedrock build locally, no queue behind other customers' builds. The job summary shows the build ID, status, and a download link with no digging through logs, and a failed or canceled build fails the step itself — no extra if: check needed to stop the job.

Inputs and outputs

InputDefaultWhat it does
api-tokenrequiredThe token from step 1.
profilereleasedebug or release.
aabfalseBuild an App Bundle instead of an APK.

The action also exposes build-id, status, and download-url as step outputs, for a later step that needs the artifact URL directly — see the action's own README for the full reference.