diff --git a/.travis.yml b/.travis.yml index d9abeedbe..41f145574 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,54 +1,47 @@ language: android - addons: apt: packages: - - w3m - + - w3m env: global: - - ANDROID_TARGET=android-22 - - ANDROID_ABI=armeabi-v7a - - ADB_INSTALL_TIMEOUT=12 # in minutes - + - ANDROID_TARGET=android-22 + - ANDROID_ABI=armeabi-v7a + - ADB_INSTALL_TIMEOUT=12 jdk: - - oraclejdk8 - +- oraclejdk8 android: components: - - tools - - platform-tools - - build-tools-27.0.3 - - extra-google-m2repository - - extra-android-m2repository - - android-22 - - android-27 - - sys-img-${ANDROID_ABI}-${ANDROID_TARGET} + - tools + - platform-tools + - build-tools-27.0.3 + - extra-google-m2repository + - extra-android-m2repository + - android-22 + - android-27 + - sys-img-${ANDROID_ABI}-${ANDROID_TARGET} licenses: - - 'android-sdk-license-.+' - + - android-sdk-license-.+ before_script: - - echo no | android create avd --force -n test -t $ANDROID_TARGET --abi $ANDROID_ABI - - emulator -avd test -no-audio -no-window -no-boot-anim & - - android-wait-for-emulator - +- echo no | android create avd --force -n test -t $ANDROID_TARGET --abi $ANDROID_ABI +- emulator -avd test -no-audio -no-window -no-boot-anim & +- android-wait-for-emulator script: - - ./gradlew clean check connectedCheck jacocoTestReport - +- "./gradlew clean check connectedCheck jacocoTestReport" after_success: - - bash <(curl -s https://codecov.io/bash) - +- bash <(curl -s https://codecov.io/bash) after_failure: - - echo '*** Debug Unit Test Results ***' - - w3m -dump ${TRAVIS_BUILD_DIR}/app/build/reports/tests/*/classes/*Test.html - - echo '*** Connected Test Results ***' - - w3m -dump ${TRAVIS_BUILD_DIR}/app/build/reports/androidTests/connected/flavors/*/*Test.html - +- echo '*** Debug Unit Test Results ***' +- w3m -dump ${TRAVIS_BUILD_DIR}/app/build/reports/tests/*/classes/*Test.html +- echo '*** Connected Test Results ***' +- w3m -dump ${TRAVIS_BUILD_DIR}/app/build/reports/androidTests/connected/flavors/*/*Test.html before_cache: - - rm -f $HOME/.gradle/caches/modules-2/modules-2.lock - - rm -fr $HOME/.gradle/caches/*/plugin-resolution/ - +- 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/.gradle/caches/" + - "$HOME/.gradle/wrapper/" +before_install: +- openssl aes-256-cbc -K $encrypted_7b5c925cc32c_key -iv $encrypted_7b5c925cc32c_iv + -in nr-commons.keystore.enc -out nr-commons.keystore -d diff --git a/app/build.gradle b/app/build.gradle index c2c02d2a4..23d6fd9db 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -117,12 +117,17 @@ android { test.assets.srcDirs += 'src/main/assets' test.resources.srcDirs += 'src/main/resoures' } + + signingConfigs { + release + } buildTypes { release { minifyEnabled true proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt' testProguardFile 'test-proguard-rules.txt' + signingConfig signingConfigs.release } debug { minifyEnabled true @@ -132,6 +137,16 @@ android { versionNameSuffix "-debug-" + getBranchName() + "~" + getBuildVersion() } } + + def isRunningOnTravis = System.getenv("CI") == "true" + + if (isRunningOnTravis) { + // configure keystore based on env vars in Travis for automated alpha builds + signingConfigs.release.storeFile = file("../nr-commons.keystore") + signingConfigs.release.storePassword = System.getenv("keystore_password") + signingConfigs.release.keyAlias = System.getenv("key_alias") + signingConfigs.release.keyPassword = System.getenv("key_password") + } flavorDimensions 'tier' productFlavors { diff --git a/nr-commons.keystore.enc b/nr-commons.keystore.enc new file mode 100644 index 000000000..aba040286 Binary files /dev/null and b/nr-commons.keystore.enc differ