Automate releases (part 1) (#2111)

* Encrypt keystore

* Modify build.gradle to add signing configs for env vars

* Fixed keystore name

* Remove encrypted file that is causing build errors

* Add encrypted keystore again

* Remove failed keystore again...

* Add keystore encrypted by Nicolas

* Modify env var names for key and iv
This commit is contained in:
Josephine Lim 2018-12-15 01:37:03 +10:00 committed by Vivek Maskara
parent 1d951f5f8a
commit 707c52c768
3 changed files with 45 additions and 37 deletions

View file

@ -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

View file

@ -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 {

BIN
nr-commons.keystore.enc Normal file

Binary file not shown.