A GitHub Action to halt a Google Play Console release for a specific track and version.
https://github.com/mataku/halt-google-play-release-action.git
A GitHub Action to halt a Google Play Console release for a specific track and version.
This action allows you to programmatically halt releases in Google Play Console, which is useful for emergency rollbacks or stopping problematic releases.
Before using this action, you need to setup using Workload Identity Federation described in https://github.com/google-github-actions/auth.
Or by using Service Account:
Use google-github-actions/auth to authenticate with Workload Identity
Federation. The action will automatically use the
GOOGLE_APPLICATION_CREDENTIALS environment variable set by the auth action:
steps:
- name: Authenticate to Google Cloud
uses: google-github-actions/auth@v3
with:
create_credentials_file: true
workload_identity_provider: ${{ secrets.WORKLOAD_IDENTITY_PROVIDER }}
service_account: ${{ secrets.GOOGLE_SERVICE_ACCOUNT }}
- name: Halt Google Play Release
uses: mataku/halt-google-play-release-action@v1
with:
package-name: 'com.example.app'
version-name: '1.0.0'
track: 'production'
Alternatively, you can explicitly pass the credentials file path:
steps:
- name: Authenticate to Google Cloud
id: auth
uses: google-github-actions/auth@v3
with:
create_credentials_file: true
workload_identity_provider: ${{ secrets.WORKLOAD_IDENTITY_PROVIDER }}
service_account: ${{ secrets.GOOGLE_SERVICE_ACCOUNT }}
- name: Halt Google Play Release
uses: mataku/halt-google-play-release-action@v1
with:
package-name: 'com.example.app'
version-name: '1.0.0'
google-account-json-file-path:
${{ steps.auth.outputs.credentials_file_path }}
track: 'production'
Store your service account JSON as a GitHub secret and pass it directly:
steps:
- name: Halt Google Play Release
uses: mataku/halt-google-play-release-action@v1
with:
package-name: 'com.example.app'
version-name: '1.0.0'
google-account-json: ${{ secrets.GOOGLE_SERVICE_ACCOUNT_JSON }}
track: 'production'
| Input | Description | Required | Default |
|---|---|---|---|
package-name | The package name of the Android application (e.g., com.example.app) | Yes | - |
version-name | The version name to halt (e.g., 1.0.0) | Yes | - |
google-account-json-file-path | Path to the Google Cloud account JSON file for authentication (service account or external account) | No (if other auth method is set) | - |
google-account-json | Google Cloud account JSON content for authentication (service account or external account) | No (if other auth method is set) | - |
track | The release track to halt (production, beta, alpha, internal) | Yes | production |
GOOGLE_APPLICATION_CREDENTIALS environment variable (set automatically bygoogle-github-actions/auth)
google-account-json-file-path inputgoogle-account-json inputGOOGLE_APPLICATION_CREDENTIALS environment variable (highest priority)google-account-json inputgoogle-account-json-file-path inputThe action will fail if:
google-account-json-file-path nor google-account-json is providedThis project is licensed under the MIT License - see the LICENSE file for details.