https://github.com/capawesome-team/cloud-build-action
🤖 GitHub Action to build and deploy apps with Capawesome Cloud.
https://github.com/capawesome-team/cloud-build-action
List: cloud-build-action
actions android capawesome capawesome-cloud cli ios mobile
Last synced: 13 days ago
JSON representation
🤖 GitHub Action to build and deploy apps with Capawesome Cloud.
- Host: GitHub
- URL: https://github.com/capawesome-team/cloud-build-action
- Owner: capawesome-team
- License: mit
- Created: 2026-06-04T19:44:08.000Z (19 days ago)
- Default Branch: main
- Last Pushed: 2026-06-04T20:37:52.000Z (19 days ago)
- Last Synced: 2026-06-04T21:39:08.533Z (19 days ago)
- Topics: actions, android, capawesome, capawesome-cloud, cli, ios, mobile
- Homepage: https://capawesome.io/cloud/
- Size: 39.1 KB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# Capawesome Cloud Build Action for GitHub Actions
[](https://github.com/capawesome-team/cloud-build-action/actions/workflows/ci.yml)
[](https://github.com/marketplace/actions/capawesome-cloud-build-action)
[](./LICENSE)
GitHub Action to create a native app build on [Capawesome Cloud](https://cloud.capawesome.io/) Runners.
> [!NOTE]
> The `token` is sensitive and must be stored as an [encrypted secret](https://docs.github.com/en/actions/security-guides/encrypted-secrets) (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
- [Capawesome Cloud Live Update Action](https://github.com/capawesome-team/cloud-live-update-action) — Deploy a Capacitor Live Update to the Capawesome Cloud.
## Usage
```yaml
- 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
```yaml
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`](https://jqlang.github.io/jq/)**, which is preinstalled on GitHub-hosted runners.
## License
See [LICENSE](./LICENSE).