Skip to content

GitHub Actions

Trigger native builds from GitHub Actions. The build itself runs in Capawesome Cloud, so the workflow only needs to start it — using the official Capawesome Cloud Build Action (recommended) or the Capawesome CLI.

Prerequisites

Create an API token in Capawesome Cloud and store it as a repository secret named CAPAWESOME_TOKEN.

Workflow

The official cloud-build-action starts the build in a single step and exposes the build number and URL as outputs:

.github/workflows/native-build.yml
name: Native Build
on:
  workflow_dispatch:
    inputs:
      platform:
        description: "Platform (ios or android)"
        required: true
jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: capawesome-team/cloud-build-action@v0.1.0
        with:
          appId: "00000000-0000-0000-0000-000000000000"
          platform: ${{ inputs.platform }}
          gitRef: ${{ github.sha }}
          token: ${{ secrets.CAPAWESOME_TOKEN }}

The action exposes all the build options as inputs — including type, certificate, environment, channel/destination, and artifact downloads (apk/aab/ipa/zip). See the action README for the full list.

Prefer full control, or running on a non-GitHub CI? Use the Capawesome CLI directly:

.github/workflows/native-build.yml
name: Native Build
on:
  workflow_dispatch:
    inputs:
      platform:
        description: "Platform (android, ios, or web)"
        required: true
jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - run: npx @capawesome/cli login --token ${{ secrets.CAPAWESOME_TOKEN }}
      - run: |
          npx @capawesome/cli apps:builds:create \
            --app-id 00000000-0000-0000-0000-000000000000 \
            --platform ${{ inputs.platform }} \
            --git-ref ${{ github.sha }} \
            --yes

Pin the action (or the CLI version) to a specific release for reproducible runs, and prefer workflow_dispatch so builds run when you choose. To attach a signing certificate or environment, pass the relevant inputs — see the action README or the CLI reference.