Android Release to Google Play
Source: workflows/android-cloud-release-googlePlay.yml
Runner: ubuntu-latest
Usage
jobs:
android-release-to-google-play:
uses: futuredapp/.github/.github/workflows/android-cloud-release-googlePlay.yml@2.7.0
with:
VERSION_NAME: '...'
BUNDLE_GRADLE_TASK: '...'
GOOGLE_PLAY_APPLICATION_ID: '...'
secrets:
SIGNING_KEYSTORE_PASSWORD: ${{ secrets.SIGNING_KEYSTORE_PASSWORD }}
SIGNING_KEY_ALIAS: ${{ secrets.SIGNING_KEY_ALIAS }}
SIGNING_KEY_PASSWORD: ${{ secrets.SIGNING_KEY_PASSWORD }}
GOOGLE_PLAY_PUBLISH_SERVICE_ACCOUNT: ${{ secrets.GOOGLE_PLAY_PUBLISH_SERVICE_ACCOUNT }}
Inputs
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
VERSION_NAME |
string |
Yes | — | Build version name |
BUNDLE_GRADLE_TASK |
string |
Yes | — | A Gradle task for assembling app bundle, for example bundleRelease |
GOOGLE_PLAY_APPLICATION_ID |
string |
Yes | — | Google Play applicationId |
USE_GIT_LFS |
boolean |
No | False |
Whether to download Git-LFS files |
BUILD_NUMBER_OFFSET |
number |
No | 0 |
Build number offset. This number will be added to GITHUB_RUN_NUMBER and can be used to make corrections to build numbers. |
KMP_FLAVOR |
string |
No | prod |
KMP Build flavor. This is optional and only required by KMP projects and can be ignored on pure Android projects |
SECRET_PROPERTIES_FILE |
string |
No | secrets.properties |
A path to file that fill be populated with contents of 'SECRET_PROPERTIES' secret. This file can be picked up by Secrets Gradle plugin to embed secrets into BuildConfig. |
CHANGES_NOT_SENT_FOR_REVIEW |
boolean |
No | False |
A changesNotSentForReview Google Play flag. Enable when last google review failed, disable when last review was successful. |
GOOGLE_PLAY_STATUS |
string |
No | draft |
Google Play release status (completed, draft, halted, inProgress) |
GOOGLE_PLAY_WHATSNEW_DIRECTORY |
string |
No | — | Path to directory with changelog files according to documentation in https://github.com/r0adkll/upload-google-play |
RELEASE_NAME |
string |
No | — | Google Play release name. Defaults to VERSION_NAME if not set. |
TIMEOUT_MINUTES |
number |
No | 30 |
Job timeout in minutes |
JAVA_VERSION |
string |
No | 17 |
Java version to use |
JAVA_DISTRIBUTION |
string |
No | zulu |
Java distribution to use |
GRADLE_OPTS |
string |
No | — | Gradle options |
BUILD_RUNS_ON |
string |
No | ubuntu-latest |
Runner label for the build job, for example ubuntu-latest (default) or self-hosted to build on the mac runners. Other jobs in this workflow stay on ubuntu-latest |
SETUP_RUBY |
boolean |
No | True |
Whether to install Ruby with ruby/setup-ruby (default). Set to false on runners whose image already ships Ruby, for example the self-hosted mac runners, where setup-ruby cannot create its tool cache |
ANDROID_SDK_PACKAGES |
string |
No | — | When set, installs the Android SDK in the build job (android-actions/setup-android) with these sdkmanager packages, for runners whose image has no SDK, for example platforms;android-36 build-tools;36.0.0 platform-tools |
KOTLIN_NATIVE_CACHE |
boolean |
No | False |
Caches ~/.konan/dependencies (LLVM, libffi) between runs; for KMP projects built on macOS, where the Kotlin/Native toolchain downloads them on every fresh runner |
Secrets
| Name | Required | Description |
|---|---|---|
SIGNING_KEYSTORE_PASSWORD |
Yes | Password to provided keystore |
SIGNING_KEY_ALIAS |
Yes | Alias of the signing key in the provided keystore |
SIGNING_KEY_PASSWORD |
Yes | Password to the key in the provided keystore |
GOOGLE_PLAY_PUBLISH_SERVICE_ACCOUNT |
Yes | JSON key of service account with permissions to upload build to Google Play |
SECRET_PROPERTIES |
No | Custom string that contains key-value properties as secrets. Contents of this secret will be placed into file specified by 'SECRET_PROPERTIES_FILE' input. |