Skip to content

Android Release to Firebase App Distribution

Source: workflows/android-cloud-release-firebaseAppDistribution.yml

Runner: ubuntu-latest

Usage

jobs:
  android-release-to-firebase-app-distribution:
    uses: futuredapp/.github/.github/workflows/android-cloud-release-firebaseAppDistribution.yml@2.2.0
    with:
      TEST_GRADLE_TASKS: '...'
      PACKAGE_GRADLE_TASK: '...'
      UPLOAD_GRADLE_TASK: '...'
      APP_DISTRIBUTION_GROUPS: '...'
    secrets:
      APP_DISTRIBUTION_SERVICE_ACCOUNT: ${{ secrets.APP_DISTRIBUTION_SERVICE_ACCOUNT }}

Inputs

Name Type Required Default Description
TEST_GRADLE_TASKS string Yes A Gradle task(s) for executing unit tests, for example testReleaseUnitTest or testDevEnterpriseUnitTest
PACKAGE_GRADLE_TASK string Yes A Gradle task for packaging universal APK, eg. 'packageEnterpriseUniversalApk'
UPLOAD_GRADLE_TASK string Yes A Gradle task for uploading APK, for example appDistributionUploadEnterprise
APP_DISTRIBUTION_GROUPS string Yes Comma-separated list of app distribution group IDs
USE_GIT_LFS boolean No False Whether to download Git-LFS files
VERSION_NAME string No Version name. Example: '1.X.X-snapshot'
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.
RELEASE_NOTES string No ${{ github.event.head_commit.message }} Release notes for this build
KMP_FLAVOR string No test 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 will be populated with contents of 'SECRET_PROPERTIES' secret. This file can be picked up by Secrets Gradle plugin to embed secrets into BuildConfig.
JAVA_VERSION string No 17 Java version to use
JAVA_DISTRIBUTION string No zulu Java distribution to use
GRADLE_OPTS string No Gradle options
TIMEOUT_MINUTES number No 30 Job timeout in minutes

Secrets

Name Required Description
APP_DISTRIBUTION_SERVICE_ACCOUNT Yes JSON key of service account with permissions to upload build to Firebase App Distribution
GRADLE_CACHE_ENCRYPTION_KEY No Configuration cache encryption key
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.

Internal Actions Used