Skip to content

capawesome-team/cloud-build-action

Use this GitHub action with your project
Add this Action to an existing workflow or create a new one
View on Marketplace

Repository files navigation

Capawesome Cloud Build Action for GitHub Actions

CI GitHub Marketplace License

GitHub Action to create a native app build on Capawesome Cloud Runners.

Note

The token is sensitive and must be stored as an encrypted secret (e.g. CAPAWESOME_TOKEN) rather than hardcoded in the workflow. We recommend pinning the action to a fixed version (e.g. @v0.1.0) for reproducible builds, as no moving major-version tag is maintained.

Related Actions

Usage

- uses: capawesome-team/cloud-build-action@v0.1.0
  with:
    # The Capawesome Cloud app ID.
    # Required.
    appId: ''
    # Download the generated AAB file (Android only). Set to `true` or provide a file path.
    aab: ''
    # Download the generated APK file (Android only). Set to `true` or provide a file path.
    apk: ''
    # The name of the certificate to use for the build.
    certificate: ''
    # The name of the channel to deploy to (Web only). Cannot be combined with `destination`.
    channel: ''
    # The name of the destination to deploy to (Android/iOS only). Cannot be combined with `channel`.
    destination: ''
    # Exit immediately after creating the build without waiting for completion. Set to `true` to enable.
    detached: ''
    # The name of the environment to use for the build.
    environment: ''
    # The Git reference (branch, tag, or commit SHA) to build. Cannot be combined with `path` or `url`.
    gitRef: ''
    # Download the generated IPA file (iOS only). Set to `true` or provide a file path.
    ipa: ''
    # Path to local source files to upload. Must be a folder or a zip file. Cannot be combined with `gitRef` or `url`.
    path: ''
    # The platform for the build. Must be `ios`, `android`, or `web`.
    platform: ''
    # The build stack to use. Must be `macos-sequoia` or `macos-tahoe`.
    stack: ''
    # The Capawesome Cloud API token.
    # Required.
    token: ''
    # The type of build. iOS: `simulator`, `development`, `ad-hoc`, `app-store`, `enterprise`. Android: `debug`, `release`.
    type: ''
    # URL to a zip file to use as build source. Cannot be combined with `gitRef` or `path`.
    url: ''
    # Ad hoc environment variables, one `key=value` pair per line.
    variables: ''
    # Path to a file containing ad hoc environment variables in `.env` format.
    variableFile: ''
    # Download the generated ZIP file (Web only). Set to `true` or provide a file path.
    zip: ''

Outputs

Name Description
buildId The ID of the created build.
buildNumber The build number.
buildUrl The URL to the build in the Capawesome Cloud Console.

Example

name: Build App
on:
  push:
    branches:
      - main
jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v4
      - name: Build App
        id: build
        uses: capawesome-team/cloud-build-action@v0.1.0
        with:
          appId: 'addb597c-9cbd-4cdc-bcc0-cd5c2234a03f'
          platform: 'android'
          type: 'release'
          gitRef: ${{ github.sha }}
          certificate: 'Release Keystore'
          aab: 'app-release.aab'
          token: ${{ secrets.CAPAWESOME_TOKEN }}
      - name: Print build outputs
        run: |
          echo "Build ID: ${{ steps.build.outputs.buildId }}"
          echo "Build number: ${{ steps.build.outputs.buildNumber }}"
          echo "Build URL: ${{ steps.build.outputs.buildUrl }}"
      - name: Upload artifact
        uses: actions/upload-artifact@v4
        with:
          name: app-release-${{ steps.build.outputs.buildNumber }}
          path: app-release.aab

Notes

  • Waits by default: The action waits for the build to complete and fails if the build fails. Native builds can take several minutes, so make sure the job timeout is high enough. Set detached: true to return immediately after the build is created.
  • Build source: Provide exactly one of gitRef, path, or url. gitRef builds from the connected Git repository; path and url are experimental.
  • Deployment: Use channel (Web only) or destination (Android/iOS only) to deploy after a successful build. They cannot be combined, and neither can be combined with detached.
  • Artifacts: apk/aab (Android), ipa (iOS), and zip (Web) download the build artifact to the runner. They cannot be combined with detached.
  • Outputs require jq, which is preinstalled on GitHub-hosted runners.

License

See LICENSE.

About

🤖 GitHub Action to build and deploy apps with Capawesome Cloud.

Topics

Resources

License

Stars

Watchers

Forks

Contributors