| language: android |
| group: travis_lts |
| before_cache: |
| - rm -f $HOME/.gradle/caches/modules-2/modules-2.lock |
| - rm -fr $HOME/.gradle/caches/*/plugin-resolution/ |
| cache: |
| directories: |
| - "$HOME/.gradle/caches/" |
| - "$HOME/.gradle/wrapper/" |
| - "$HOME/.android/build-cache" |
| - "$HOME/.m2" |
| - "$HOME/google-cloud-sdk/" |
| - "$HOME/.cache" |
| - "$TRAVIS_BUILD_DIR/build" |
| - "$TRAVIS_BUILD_DIR/lottie/build" |
| - "$TRAVIS_BUILD_DIR/LottieSample/build" |
| env: |
| - PATH=${HOME}/google-cloud-sdk/bin:$PATH CLOUDSDK_CORE_DISABLE_PROMPTS=1 |
| before_install: |
| - openssl aes-256-cbc -K $encrypted_7f6a0d70974a_key -iv $encrypted_7f6a0d70974a_iv |
| -in secrets.tar.enc -out secrets.tar -d |
| - tar xvf secrets.tar |
| - export TRAVIS_GIT_BRANCH=$(if [ "$TRAVIS_PULL_REQUEST" == "false" ]; then echo $TRAVIS_BRANCH; |
| else echo $TRAVIS_PULL_REQUEST_BRANCH; fi) |
| - export GIT_SHA=$(git rev-parse HEAD) |
| - export GIT_MERGE_BASE=$(git merge-base master) |
| - echo GIT_SHA $GIT_SHA |
| - echo GIT_MERGE_BASE $GIT_MERGE_BASE |
| install: |
| - ". $HOME/.nvm/nvm.sh" |
| - nvm install stable |
| - nvm use stable |
| - npm install |
| android: |
| components: |
| - tools |
| - platform-tools |
| - tools |
| - build-tools-27.0.3 |
| - android-27 |
| - extra-android-m2repository |
| jdk: |
| - oraclejdk8 |
| branches: |
| except: |
| - gh-pages |
| notifications: |
| email: false |
| jobs: |
| include: |
| - stage: test |
| name: Lottie Lint |
| script: "./gradlew :lottie:lintRelease" |
| - name: Lottie Unit Tests |
| script: "./gradlew :lottie:testReleaseUnitTest" |
| - name: LottieSample Lint |
| script: "./gradlew :LottieSample:lintRelease" |
| - name: LottieSample Unit Tests |
| script: "./gradlew :LottieSample:testReleaseUnitTest" |
| - name: Firebase Happo Tests |
| script: |
| - "./gradlew :LottieSample:assembleDebug :LottieSample:assembleAndroidTest" |
| - "./gcloud_run.sh" |
| - stage: deploy |
| name: Create release and upload artifacts |
| script: |
| - "./sign.sh" |
| deploy: |
| provider: releases |
| api_key: "$GITHUB_ACCESS_TOKEN" |
| file: LottieSample/build/outputs/apk/release/LottieSample-release-aligned.apk |
| skip_cleanup: true |
| on: |
| tags: true |
| sudo: false |