Enable APK Autodeploy in Travis CI (#240)

Enable APK Autodeploy in Travis CI
This commit is contained in:
Juan Miguel Boyero Corral 2018-05-18 00:51:10 +02:00 committed by GitHub
parent 5da9b7ac24
commit 0ac9e32363
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 42 additions and 50 deletions

2
.gitignore vendored
View File

@ -8,3 +8,5 @@ local.properties
app/lint.xml
/SWADroid/google-services.json
keystore.properties
/SWADroid/release/
keystore.jks

View File

@ -1,39 +1,47 @@
sudo: false
language: android
jdk: oraclejdk8
env:
global:
- ANDROID_API=P
- ANDROID_BUILD_TOOLS=28.0.0-rc2 #TODO Switch to release version when Android P is released
global:
- ANDROID_API=P
- ANDROID_BUILD_TOOLS=28.0.0-rc2
- secure: "eY3bGKw4jZ+HHkkMBZHiL2dhcz+RJYHib0WC77SSVHLJcCg63pBvs420i4rjNQHycMs+PhRSlR79jdglDTm8svphhRjSts6VMkHDxObwJIyLF8vAZ0PfjhqfOXO+4+Fx6pRIjwM7cBMOQrDfSimJHRB+z/f2AJfUIsaMSlltGVya7nmrLY/fO4dtl4wPnejslj3mhnBAxr+a2Or978RwI2TMpxBovHZKFT/46wJTcMzKXGdXU64M8nmQmpcKHeIKIBiR4g+A2tahC+Us4tFxxoTDd3R+IAzj7Gvjd5JuMlYmQ3quRv2M08u9OJNiT14LpDXy19fZKdw/QNHg3S8JVis8kJDkv6z4HyZXTIBgISZpCZZti04GP29Lj+1f4ISRFc6uxankDuRgfX8ucsxoEPJVq3PfJlpTdP7wjlQtEGv0HF/3MNNyruNbLHFiCgHOANwEOX44INtw6XylPEftmw4y4ptntFG3VXyV1Zi+732Qe4b2QNTbvLPrsmkCRKzo59vKKAzBBhvYvFVITcWbySqdx9/n1H25SRL2Q96nPGQSQyBF6obzzFcjMKkknPle1PXvAfb171964cdIK6/zo9rh/ZCL3+gAKZibmGWvbeztWYl5ON8B8x8mgLO/qgPIotY+aqwmsY06pKrqi6adYZacMF+UgtbLJlhnird6ugk="
- secure: "EmcSyXk/5pEJhbRX9DSFzhQGYvGaYdxjDuQwmLuxUGitGpFQZbWexTAK/l0LLcIRsiSmucY7KJgOpL7I6odh2kVUZedarj8/5K1P69ljDDB7bfG8jyOLZvHJ1JTZRuKvUnT846zQwQWTnLXF9N4LaQ86FVqSW2bGHqptIivEjDEVh78V3g4PDsbX5aQ5LjTlSn7bezu9chpVS0fnRlqjAa6U2kUwUt+DDaSHEOs35Z89jT7JoonGFrMsyA7S26CQhOBYE3w76AllIea+MWzPJX3V364ZIzPBnQAkCz02oVI3n+LHZkzUCYHkY8DXWXNy6+/sulFa6L1v6bt8DzF1vwJ+nTNVqmqSDYBe2s1qAUZ+4o8l/THMndxC11LjbbEExG4ekBRFvRsOOf0pBps3Yr4ry27gaj4+9Ap2JCKKOQwm0izh48AJiy0Y8pzIzTO5wB5B7a4czLJmzaNWkPVXw4lKg2ldJ4sd6EBqUZqG2vRmN6VwHb8gHFNaQTH3feBRhYTpkv1wWUuhvclNn5yoZzcSxMT/b8d89e5DahoBYMW48c6jb5wL/EoY3bHp3mjtnTW8oIIjyZK8FjYX+8IqeEoue8bDDqNUN71xmRvp+0CX1iXnfgUeDWnYhXHTewOlJu6i509wGrZPxYjgwAdnpfTyGXPq7Vin9CkNHMw9fbA="
before_cache:
- rm -f $HOME/.gradle/caches/modules-2/modules-2.lock
- rm -rf $HOME/.gradle/caches/*/plugin-resolution/
- rm -f $HOME/.gradle/caches/modules-2/modules-2.lock
- rm -rf $HOME/.gradle/caches/*/plugin-resolution/
cache:
directories:
- $HOME/.gradle/caches/
- $HOME/.gradle/wrapper/
- $HOME/.android/build-cache
- "$HOME/.gradle/caches/"
- "$HOME/.gradle/wrapper/"
- "$HOME/.android/build-cache"
before_install:
# Travis still uses 'android' command behind the 'components' section update.
# That command is obsolete and cannot update Android SDK Tools after 25.2.5.
# Let's solve it here with the new command 'sdkmanager'
- yes | sdkmanager --verbose "build-tools;${ANDROID_BUILD_TOOLS}"
- yes | sdkmanager --verbose "platform-tools"
- yes | sdkmanager --verbose "tools"
- yes | sdkmanager --verbose "platforms;android-${ANDROID_API}"
- yes | sdkmanager --verbose "extras;android;m2repository"
# Check tools and dependencies installed
- yes | sdkmanager --list
- chmod +x gradlew
script :
- ./gradlew build connectedCheck
after_failure: "cat $TRAVIS_BUILD_DIR/SWADroid/build/reports/lint-results.xml"
- yes | sdkmanager "build-tools;${ANDROID_BUILD_TOOLS}"
- yes | sdkmanager "platform-tools"
- yes | sdkmanager "tools"
- yes | sdkmanager "platforms;android-${ANDROID_API}"
- yes | sdkmanager "extras;android;m2repository"
- yes | sdkmanager --list
- chmod +x gradlew
script:
- "./gradlew clean test build connectedCheck"
after_failure: cat $TRAVIS_BUILD_DIR/SWADroid/build/reports/lint-results.xml
before_deploy:
- openssl aes-256-cbc -K $encrypted_855ad244b8b2_key -iv $encrypted_855ad244b8b2_iv -in keystore.jks.enc -out keystore.jks -d
- cd SWADroid/build/outputs/apk/release
- jarsigner -sigalg SHA1withRSA -digestalg SHA1 -keystore ${TRAVIS_BUILD_DIR}/keystore.jks -storepass $storepass -keypass $keypass SWADroid-release-unsigned.apk amab
- jarsigner -verify SWADroid-release-unsigned.apk
- "${ANDROID_HOME}/build-tools/${ANDROID_BUILD_TOOLS}/zipalign -p 4 SWADroid-release-unsigned.apk SWADroid-release.apk"
deploy:
provider: releases
api_key:
secure: ePphqb/bHjJC1wwlVfw3DNOZtluX7B/3G8a8uWDkDIBpKHqCykpnXUNmgnWEO9iQ+GUmSdkAHn+z9tKv+MAdBRgSw2Xfc8sEsj6lsWUjJxHk7/eQOdzE0FC8y8WjrKHpwbFEJAi03YId/0ruIBltMzCWyylxMTAXonrL9yAvGn9EL5m1y1Fap58XNUmDwnP+4yoTfTuXOOJrmppFGUKlR22xhI6j/zvVW1LeyA7kpp42X/76rgnSS78Fj4s/O8kN0aa6c9PM38rWg1TqgBRRuV+2PMWmZn3EfjdzBl2d+D5pJ+gPS9e+gSWpKtTkatZ+CKwSBvQSpNE6K7B1FSCSR+Gy9FtnnH0BMyeP71kMFDgU+zagZjuQZnVgRAIDYdaquNq52EwcStXV5LrqpzNpkgAfrNOSVfLZWS1eEkGy6q8WqpvBO8OcnseaiaNl4VNNRZn1e7FziDZHkA/SCr3aLOVYp4FkVK7Z+yiH2EbLJ5SeKuPWv7pEbBmNR7lzsZGZ0Rt6FmVN3yuA1/4oIN0zgdSwNEoqYGRXqG0bNeghwjLPCkpMJ3W8h82fblX40hk/f3bB3aGN9BX/oBa06MEFTSxUtp4pwfhRQVe0/13+oR2G6yei+fuGJSsil6FmaOB0jNoMvtMLI0IhQ47AflRW4QfAHnO+lbfP8ZmWdLgBidk=
file: $TRAVIS_BUILD_DIR/SWADroid/build/outputs/apk/release/SWADroid-release.apk
skip_cleanup: true
name: SWADroid $TRAVIS_TAG
body: Automated release from Travis CI.
target_commitsh: $TRAVIS_COMMIT
on:
tags: true
repo: Amab/SWADroid
branch: master

View File

@ -44,29 +44,11 @@ android {
minSdkVersion 14
targetSdkVersion "P"
android.applicationVariants.all { variant ->
def appName
//Check if an applicationName property is supplied; if not use the name of the parent project.
if (project.hasProperty("applicationName")) {
appName = applicationName
} else {
appName = parent.name
}
variant.outputs.all { output ->
outputFileName = "${appName}-${output.baseName}-${variant.versionName}.apk"
}
}
testApplicationId "es.ugr.swad.swadroid.test"
testInstrumentationRunner "android.test.InstrumentationTestRunner"
}
buildTypes {
debug {
versionNameSuffix '-DEBUG'
}
buildTypes.each {
it.buildConfigField "String", "SWAD_APP_KEY", getBuildConfigField("SWAD_APP_KEY")
it.buildConfigField "String", "ANALYTICS_API_KEY", getBuildConfigField("ANALYTICS_API_KEY")
@ -74,7 +56,7 @@ android {
}
}
//TODO Switch to release versions when Android P is released
// TODO Switch to release versions when Android P is released
dependencies {
implementation 'com.android.support:support-v4:28.0.0-alpha1'
implementation 'com.android.support:appcompat-v7:28.0.0-alpha1'

BIN
keystore.jks.enc Normal file

Binary file not shown.