Skip to content
Snippets Groups Projects
universal_apk.gitlab-ci.yml 1.19 KiB
# Required variables:
## SIGNING_KEYSTORE: The keystore, base64 encoded
## SIGNING_STORE_PW: The password for the keystore, keyPassword property in the signing.properties file
## SIGNING_KEY_PW: The password for the key, keyPassword property in the signing.properties file
## SIGNING_KEY_ALIAS: The alias for the key, keyAlias property in the signing.properties file
## APPLICATION_VERSION: The build name of the application
## APPLICATION_BUILD_NUMBER: The build number of the application
## AAB_NAME: Path to the built aab file
## APK_NAME: The name of the output apk

stages:
- build

variables:
  BUNDLETOOL_IMAGE: andrijoos/bundletool
  APK_NAME: ${APP_NAME}_${APPLICATION_VERSION}.apk

.build_universal_apk:
  stage: build
  image: 
    name: ${BUNDLETOOL_IMAGE}
    pull_policy: always
  tags:
    - amd64
  artifacts:
    paths:
      - ${APK_NAME}
    expire_in: 1 day
  script:
    - echo $SIGNING_KEYSTORE | base64 -d > keystore.jks
    - bundletool build-apks --bundle=${AAB_NAME} --output=apks.apks --mode=universal --ks=keystore.jks --ks-pass=pass:$SIGNING_STORE_PW --ks-key-alias=$SIGNING_KEY_ALIAS --key-pass=pass:$SIGNING_KEY_PW
    - unzip -q apks.apks -d apks
    - mv apks/universal.apk ./${APK_NAME}