Welcome to the NativeBridge CI/CD documentation! This directory contains all the guides you need to understand and use the automated build and deployment pipeline.
QUICKSTART_CICD.md - Start here!
- Quick overview of the release process
- How to create releases with one command
- Testing and troubleshooting tips
- Perfect for: First-time users
NATIVEBRIDGE_CICD.md - Project-specific guide
- How NativeBridge is integrated into THIS project
- Setup instructions for GitHub Secrets
- Configuration options
- Troubleshooting specific to this pipeline
- Perfect for: Team members working on this project
NATIVEBRIDGE_API_INTEGRATION.md - General guide
- Integrate NativeBridge into ANY CI/CD platform
- Examples for 8+ platforms (GitHub Actions, Jenkins, GitLab, etc.)
- Reusable code snippets
- Best practices
- Perfect for: Using NativeBridge in other projects
application_upload_api.md - Complete API reference
- Full API documentation
- All parameters explained
- Response formats
- Example scenarios
- Perfect for: Deep dive into the API
SECRETS_SETUP.md - GitHub Secrets guide
- How to configure secrets
- Security best practices
- Production vs development setup
- Perfect for: Setting up GitHub Secrets
RELEASE_AUTOMATION.md - Release script guide
- How the
release.shscript works - Usage examples
- Troubleshooting
- Perfect for: Understanding the release process
NativeBridge is a revolutionary cloud platform that lets you run Android apps instantly in your browser without any installation:
- βοΈ Cloud Emulators - Test on virtual Android devices instantly in your browser
- π± Real Physical Devices - Run on actual Android hardware in the cloud
- π One-Click Launch - No setup, no downloads, just click and test
- π Universal Access - Works on Windows, Mac, Linux, even mobile browsers
- π Shareable Magic Links - Send links to anyone for instant testing
- π§ Email Notifications - Automatic notifications when new versions are uploaded
- π Access Control - Public or private apps with user allowlists
- Upload APK via API (automated in CI/CD)
- Get Magic Link instantly
- Share Link with your team
- Run App in cloud emulator or real device
- Test Anywhere - no installation required!
- Log in to NativeBridge
- Go to API Keys: https://nativebridge.io/dashboard/api-keys
- Click Generate New API Key or Create API Key
- Copy the API key
- Go to your repository β Settings β Secrets and variables β Actions
- Click New repository secret
- Add:
- Name:
NATIVEBRIDGE_API_KEY - Value: Your API key from Step 1
- Name:
- Click Add secret
./scripts/release.sh 1.0.0That's it! The pipeline will:
- β Build your APK
- β Upload to NativeBridge
- β Generate magic link for cloud testing
- β Create GitHub Release
- β Send email notifications
.github/
βββ workflows/
β βββ release-build.yml # Main CI/CD workflow
β βββ application_upload_api.md # Complete API documentation
β
βββ NATIVEBRIDGE_CICD.md # Project integration guide
βββ NATIVEBRIDGE_API_INTEGRATION.md # General CI/CD guide
βββ SECRETS_SETUP.md # GitHub Secrets setup
βββ README.md # This file
scripts/
βββ release.sh # Automated release script
βββ README.md # Release script documentation
QUICKSTART_CICD.md # Quick start guide
RELEASE_AUTOMATION.md # Release automation guide
BUILD_GUIDE.md # Build instructions
graph LR
A[Run release.sh] --> B[Bump Version]
B --> C[Git Commit & Tag]
C --> D[Push to GitHub]
D --> E[Trigger CI/CD]
E --> F[Build APK]
F --> G[Upload to NativeBridge]
G --> H[Create GitHub Release]
H --> I[Send Notifications]
-
Version Bumping
- Updates
package.json - Updates
android/app/build.gradle - Creates git commit
- Updates
-
Git Operations
- Creates annotated tag
- Pushes to GitHub
- Triggers workflow
-
Build Process
- Sets up environment
- Generates/decodes keystore
- Builds signed APK
- Fixes Kotlin compilation issues
-
NativeBridge Upload
- Uploads APK via API
- Parses response
- Extracts magic links
- Saves for later steps
-
GitHub Release
- Downloads APK artifact
- Creates release
- Includes NativeBridge cloud link
- Attaches APK file
-
Notifications
- Email via NativeBridge (if enabled)
- GitHub notifications
- Build summaries
| Secret | Required | Description |
|---|---|---|
NATIVEBRIDGE_API_KEY |
Yes | API key for NativeBridge uploads |
| Secret | Required | Description |
|---|---|---|
NATIVEBRIDGE_API_KEY |
Yes | API key for NativeBridge uploads |
ANDROID_KEYSTORE_BASE64 |
No | Base64-encoded release keystore |
ANDROID_KEYSTORE_PASSWORD |
No | Keystore password |
ANDROID_KEY_ALIAS |
No | Key alias in keystore |
ANDROID_KEY_PASSWORD |
No | Key password |
Note: If keystore secrets are not provided, the workflow generates a temporary keystore for CI builds.
# Bump to version 1.0.0 and create release
./scripts/release.sh 1.0.0# See what would happen without actually releasing
./scripts/release.sh 1.0.0 --dry-run# Standard release
npm run release 1.0.0
# Dry run
npm run release:dry 1.0.0# Build debug APK locally
cd android && ./gradlew assembleDebug
# Build release APK locally
cd android && ./gradlew assembleRelease# Make app private for internal testing
-F "accessType=private" \
-F "allowedUsers=dev@company.com" \
-F "allowedUsers=qa@company.com"# Send notifications to QA team
-F "sendNotification=true" \
-F "notificationEmails=qa@company.com" \
-F "notificationEmails=product@company.com"# Create separate app entry for staging
-F "versionAction=create_new_app"Problem: "NATIVEBRIDGE_API_KEY secret not configured"
Solution:
- Verify secret is added to GitHub Secrets
- Check secret name is exactly
NATIVEBRIDGE_API_KEY - Re-run the workflow
Problem: Kotlin compilation errors
Solution:
- Workflow includes automatic patches
- If still fails, check Android Gradle plugin compatibility
- Review workflow logs for specific errors
Problem: API returns 401 Unauthorized
Solution:
- Verify API key is correct
- Check for extra spaces/newlines in secret
- Regenerate API key if needed
Problem: API returns 429 Rate Limit
Solution:
- Wait 60 seconds before retrying
- NativeBridge allows 10 requests/minute
- Website: https://nativebridge.io
- Dashboard: https://nativebridge.io/dashboard
- API Keys: https://nativebridge.io/dashboard/api-keys
- Documentation: https://docs.nativebridge.io
- GitHub Actions Docs: https://docs.github.com/actions
- This Project's Workflow: workflows/release-build.yml
- Quick Start: QUICKSTART_CICD.md
- Check NATIVEBRIDGE_CICD.md troubleshooting section
- Review GitHub Actions logs
- Check this README
- Read workflows/application_upload_api.md
- Contact: api-support@nativebridge.io
- Dashboard: https://nativebridge.io/dashboard
- See NATIVEBRIDGE_API_INTEGRATION.md
- Examples for your CI/CD platform
- Best practices guide
- β
One Command Release -
./scripts/release.sh 1.0.0 - β Automatic Versioning - No manual file editing
- β Signed APKs - Production-ready builds
- β Cloud Testing - Test without installing
- β Instant Access - Click magic link to test
- β No Installation - Run in browser
- β Real Devices - Test on actual hardware
- β Email Notifications - Know when new versions are ready
- β Easy Sharing - Send links to stakeholders
- β Version History - All versions accessible
- β Quick Demos - No setup for demonstrations
- β Cross-Platform - Share with anyone, any device
- Read QUICKSTART_CICD.md
- Get NativeBridge API key from https://nativebridge.io/dashboard/api-keys
- Add
NATIVEBRIDGE_API_KEYto GitHub Secrets - Run
./scripts/release.sh 1.0.0 --dry-runto test - Create first release:
./scripts/release.sh 1.0.0 - Check GitHub Actions for build status
- Test magic link in GitHub Release
- Share with team!
Last Updated: 2025-11-29
Version: 1.0
Workflow File: workflows/release-build.yml