This GitHub Action automates the process of promoting an Android application from Beta to the Production track on the Google Play Store. It provides a streamlined workflow for handling production releases using Fastlane.
- Automated promotion to production track
- Secure handling of Play Store credentials
- Streamlined Fastlane configuration
- Minimal configuration requirements
- Android application already published on Play Store Beta
- Google Play Store developer account
- Play Store service account credentials
- Fastlane configuration in the repository
Input | Description | Required |
---|---|---|
android_package_name |
Name of the Android project module | Yes |
playstore_creds |
Firebase credentials JSON file content | Yes |
jobs:
promote-to-production:
runs-on: macos-latest
steps:
- uses: openMF/[email protected]
with:
android_package_name: 'app'
playstore_creds: ${{ secrets.PLAYSTORE_CREDS }}
-
Environment Setup
- Configures Ruby environment
- Sets up Fastlane with required plugins
- Configures bundler for dependency management
-
Credential Management
- Securely handles Play Store service account credentials
- Creates credential file in the appropriate location
-
Promotion Process
- Executes Fastlane command to promote the app to production
- Uses existing Fastlane configuration from the repository
- GitHub Actions runner with Ubuntu
- Existing Fastlane configuration
- Play Store service account credentials
- Application must be in Beta track before promotion
- This action only handles promotion to production
- Does not perform any building or signing operations
- Relies on existing app version in Beta track
- Uses Fastlane for Play Store interaction
The action will fail if:
- Required inputs are missing
- Play Store credentials are invalid
- Promotion process encounters errors
- Fastlane configuration is missing or incorrect
- Play Store credentials should be stored as GitHub Secrets
- Credentials are handled securely and not exposed in logs
- Only minimal required permissions should be granted to service account
- Ruby (installed via setup-ruby action)
- Bundler 2.2.27
- Fastlane with firebase_app_distribution plugin
- Fastlane with increment_build_number plugin