From 1f32d13698b9546aabfce0eb91abc0d218b2c1be Mon Sep 17 00:00:00 2001 From: inorichi Date: Sat, 30 Sep 2017 18:49:43 +0200 Subject: [PATCH] Travis deployment (#1014) * Travis deployment * Executable scripts --- .travis.yml | 77 +++++++++++++++++++++++----------------- .travis/build.sh | 19 ++++++++++ .travis/deploy.sh | 15 ++++++++ .travis/secrets.tar.enc | Bin 0 -> 8208 bytes app/proguard-rules.pro | 1 + 5 files changed, 80 insertions(+), 32 deletions(-) create mode 100755 .travis/build.sh create mode 100755 .travis/deploy.sh create mode 100644 .travis/secrets.tar.enc diff --git a/.travis.yml b/.travis.yml index 66484c0a5f..c47623351b 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,41 +1,54 @@ language: android android: components: - - platform-tools - - tools - - # The BuildTools version used by your project - - build-tools-26.0.1 - - android-26 - - extra-android-m2repository - - extra-google-m2repository - - extra-android-support - - extra-google-google_play_services - + - build-tools-26.0.1 + - android-26 + - extra-android-m2repository + - extra-google-m2repository + - extra-android-support + - extra-google-google_play_services licenses: - - android-sdk-license-.+ - - '.+' - -jdk: - - oraclejdk8 - -before_script: - - chmod +x gradlew - + - android-sdk-license-.+ before_install: - - mkdir "$ANDROID_HOME/licenses" || true - - echo -e "\n8933bad161af4178b1185d1a37fbf41ea5269c55" > "$ANDROID_HOME/licenses/android-sdk-license" - - echo -e "\n84831b9409646a918e30573bab4c9c91346d8abd" > "$ANDROID_HOME/licenses/android-sdk-preview-license" - -#Build, and run tests -script: "./gradlew clean buildStandardDebug" -sudo: false - +- openssl aes-256-cbc -K $encrypted_e56be693d4fd_key -iv $encrypted_e56be693d4fd_iv + -in "$PWD/.travis/secrets.tar.enc" -out secrets.tar -d +- tar xf secrets.tar +- mv debug.keystore "$HOME/.android" +- mkdir "$ANDROID_HOME/licenses" || true +- echo -e "\n8933bad161af4178b1185d1a37fbf41ea5269c55" > "$ANDROID_HOME/licenses/android-sdk-license" +- echo -e "\n84831b9409646a918e30573bab4c9c91346d8abd" > "$ANDROID_HOME/licenses/android-sdk-preview-license" +script: ".travis/build.sh" before_cache: - - rm -f $HOME/.gradle/caches/modules-2/modules-2.lock +- 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/" + - "$HOME/.android/build-cache" +deploy: +- provider: releases + api_key: + secure: qmS9SyMq8xPDqaY83rvAFyZcvic24lGBj3MFt22RhVJzIXAAN/vqL1R70PnNiCF7CE+R7PaDlBpwjxDMBiuh0QQNc1oX6cgepUbro4/Nt7NFFfCvKXaFdR1cSgYouhuHmy0SS0/alrcfhQ2bPwcm1/vAOiSa8Wu7hsXhCcxbFyEbXZVD11QZmiffEM0py+OeuqOFo2JxZaGRu2z04E/u5TWep1ZEuhFRCC87PGgFqABgg6jYYebQOUZADG/0G8581HTGU0mdwueYsiA35ncRzpV2V8DajEEBd5wOe5d8SyMtE+6Qs5PD9KcXAqGGe4QRmrJMX5EcLQaLZf/Qd5s9SFZVHb1aJIw/y05w4L5dlVpsjx5WuUAYAVg7Ol5UawofFo/hYkYCNmfub67wJQdHSIxPif7V6YeON6RQQMpc5GBYY9eA6ZxhrdA2m7eyoOT3jcbdaVJwC0jMGhn26hkgJfTo1LfAUs85Cs3BrK8w6Poqc/Jb+4Y0NhdGIKgO5tS3vY54cTJVVrQTq4/XmME4ZnzOX3HaOqzfyt/6M4gEQMvaeFksxwoFhocV7wfaCq9ps/Kdq2dl4KwoqRV2WqVaauqzCP4XPSlVLaJqztsw0wboupcaZepWJ2a/6j9IrKo1pEnyeHF5y+k0SUAxL0X8iKZ0uPxsgoVrlNtqXJWNGvA= + file: tachiyomi-v*.apk + file_glob: true + skip_cleanup: true + on: + tags: true + repo: inorichi/tachiyomi +- provider: script + script: ".travis/deploy.sh" + skip_cleanup: true + on: + branch: master + condition: "-z $TRAVIS_TAG" + repo: inorichi/tachiyomi env: - - GRADLE_OPTS="-XX:MaxPermSize=1024m -XX:+CMSClassUnloadingEnabled -XX:+HeapDumpOnOutOfMemoryError -Xmx2048m" + global: + - secure: Ita1+tzo7P5IC2yqU3KgRcXt+5DTpP0103Hx/ECYi42/7rLt+TC7PMjl2yH3Z189+tGwLq0Ol1KJ2Z5Rn3q7EaQgD0+WRkH/ijtrjKoVh7dyItIBp7yowZpA0TJHQ4EZpGSxZakKbIP4di8XMxJ2+5VzEivYUt04LCUpzugemL6b6XOfUmOZykVxV2UDAlPPggklITYBXkHUa0mwJhjS1aPPeeR3PhVXomkqfuOJOKejPXXXJope9fhAnmopHA7ISfjIrTuwDVQJqNSuco+O9kQShmlu0C8pob1vFGPEDvafaDS8SZ9A6gKT1ZfgSUqVmvDbx0WLX8XugBLrQedtZv63esOa1WUyGhgFVpeJjexlszXlhyfP1gH5QbzRr+EiSaagCyjf9II2veLAtU5cFY+nj6KBdKQsazIMRHf8SAQlWASyJYMED/N9RnUFxSf1rnLGqiY2ezjycx4ieFj7vhlbTgyao1GHjjR9cwNuntdMYWhY8+Vc7Fctmzm46xOyyz9oJGdyim76Y4w4MZvQNKeZOBAjdEgX6cXBk15scoM2Vj9ENox+MKZLaKRawXg2U1ujK+bWAQkXiVvPriv05/JtYsNUft8qAsm+69vtohDsUW7Wu0bBIKDL+v0W30ty1PpyNehBB2OquUE7fp53gitOmYl7TyuxktkMY8PXKKU= + - secure: NABCfigMUVM/9TLALYBpQLp/p3rG6MbH5y34/oqCSej/oh2u0nyhFSi8veS0lFpDIcv0TZvxHJXoSA0zeZijb1fUU8jYVNT2azuPWE6Gu7sf0TfBeCvulqbgLMoaA6JuWbEbZwHcxpKHg4vLSMjNk+ZP4v2dffI6A620fxLltxxhTpsYkYYsfKG857CpQtdgN/HqcOaxyvzXFmWWyVWHala1uMcMeXZCwgnlVAqau9o0bsU092txSmHqoesHoAinidSCTCmTlEqp/1AFaYQTbxmnfNC1yLgzxWAlJcS3NWzNo3ellMvKjsiIGn3JJpAjTGcyf3yPsvhs1cY3MZbmJYVyKH5HbnkA5ms6mx0DDJ2UOs5H2dmED82m14+hu62Xb8XN8zAdq+bySNSwgsGzvr1PT74pT4BW1T+D7L1xvUe6k1enZ38GIMJbJPhBybRQazhjKPmXRB30Thxoqe5VqU8UeiXHAEps7JYAWUR1PLZvEYQb6MWurmTxs9be/OTwrUT1LDiqeJZg6XkDGgQwuR2YBaQJHJD17Piq6q1BUX8abhK6wzAAYVqyGvpmUCmQCtHZgenE6ulwcKChzBv4n97OjE21LGWnbNF5ViUhfAbGcKOVufd1chZsfbkJ7a3tHYCfLnxHUIhKvHk26f5Em8h68D0wQkPnkcVVkfh7XpI= + - secure: C93UADV5aR0zhLCLwR6tCyz+fwUYslZbhjBl3PHQp+0boIGS/Be2UQTFHp/NB9mQmhWqbwqHoAVFENZFytV04ePgOuNtMFcjAIfnzm19Am7iRAMFixD45pF/CuYYfLupElkAcSequtAzN0g4G0sQ5KR1hibaDIoz9kfA2YcUAMaZ4T5bhCr8os/xA2nOlmvPDWsRWCFBYkSpnmbsSsgYAhulA/V5bSNAWnp9LPw3CBLibW3WsVP4wuhZAkXznKwn/mHT31kfQlpMH3qNhXpsN9huUkZ/k8QWeakcHJKugung0Z2T1StK8rlI8OrJstVcwueHTa2ses4f5VbhWog/Z8HDkdll9W9RM/QqXjNDtOVBt/SPuhCp4k2rvJixFUxzvSqgSWQvQnbHwjWxIUVVyHtnb0/zc/S9ONZG14TOwB/+Lkgacb85PNszurZ2f3mH0O6slIh1mH+5d9J4+L976ot4nTPlK1OtothagVyKGOrn9HycrPk/MjftIJuElHzo7NEJd/wRPqIb5y12iZN1RSPriU+itg1uSAVP891/o3peJyuqY9WSB7dYwgDJos6dDvbr19emtdyxkQR+eAb5duyH6s4R58wh1kJ1d4zu0X6uSnF4AIc+6teKkN24rSXcqB/hrcojS49jgLy5P0/CVsUbYZPI/tx8E/IJfr8m36E= + - secure: mawwBvllvESc/mp+JHvncq1iUhiC7nyokPgXmOehffc0K3byMLs2L25HjNsU6EnXG9Lcae1cfP8S9bWLquU2C3kpAkLBUpjEbdx7K0654uvs7Rrvb5hcTRHwjzaEVmVaBFX4ROcjUhBYny/Wjj/YENCkSWpkfcMd1esFbVsO+fOLyaAPvrb6auKY7H+pUSqlEwaEnrkYeBBZIHa7KqwL4g5DHbq6K368tjmval/wBzwMB0V8V3dt/ik8RMVDtKPrik4Bu0V9UmXZUIo/a06ii/CM82ekFRh3eUb0DKkdkmYbdH6MBMoLTfQtMa6A4luXaA0oycAnTX3OGB5MWIjK39KhWRavh6ybSIt4aHKoolxzH8Zgmk7xMhFSot/laX5q5IzjZu5KU6F2SmdV0kcQugM8oAjANFySetPvY1q7nZ8pM+NO1xKS/mH0w4vChhdJFD1mw7aCoh8FdeUf0Eym2+pp5Q9uAisWMmNn5XN8/fL5q6PzAxkXmkedfrr1N61FmIL6EKx8qiWpOUNlRRTIMJ4GMhCyckCF6cNxDkBItp52c+Hmkbn+ZEInEyX6gpjYVm3xyEi0Z5kLCi/fMX2nBNczc5BuGLzzmJnITv4ovpeYn2/vPvHbaPgPC4LqDK3AjlpVadMZk/M5Egn+hWY7Mni57CmpZD+SpxUbbsItI0c= + - secure: PJPDkUg1zc57brxUvNpSh+Q3ZEaGpBqZzwDavqslkn0WmjBTLrE6/OG7TFHKNmO+P56qFl+pMEKqThxqR3+4bWEeEx8ykkixDVzxNJMmws+7A7ImJ75iQyB6giMW/4tykVMMHgIPNAdcnI8VOWn0LGHnpFWUd70yoyAGX8s6cspHCKgcuWMA3GS410KJfHpyd0B9/QS7ZyWzSETW7zSPyLPa81SBO95EhOF3TOGZYLt/mBhdtU3YGFs4k9fZ8jDDcm9XmBfqVlUhb8HiZcxJiZDdRvxODERfNnwc47uaJk6+kxGDzIW2uAxrMXXVKkG04GeMOokXoR9kW1Hl2JmoyySLKLZmB7I/XEtVWdzZw16mWi+4zmhjLhfB0phSW+/5I+0VtZZ6jO031J5FL/JqVrcq1ws/aw4QlaOdPUco/x2u4LNHyYYgOi5arD9xSyu6IRy0jCC4Xa1zuqM5adGJX+rZyVfKZ0TxOW661HTxlo8COtkB2i0WR2deZGVN75ooCAEO8DauQoUcFH1OelahmPtzVs1/6ZczuxGdp9ED7ZQq9NHEOsOdUGCj/D79Dm1hWFQsIsslnnGYWitAycNCgEwmlt2Q6fbrv2CJrmLqZ9a9r3AhzxoHn9Qx1GyuyfhZJzm/6Ff2kcOjma2kcz13KUwTxdW+2G5dDCotK3f7aiI= + - secure: FIIZfEEYfjNMKODs33Czh603CYVn6LRrzpFNIiPHYTb8iQWv9qAYhsg4FpHfOjDikokTwb5X/h8G7AX93Z0xKyyDi75ACT11oPeTNTArDdcmdDVlOYBvYHc2Ci7pMW5r8LGejB7Y3mWM8uKyA3oKvneEFutB65vO3JVZvFWrm03Lmqqe7+mA4qNqNqTbN7R7fmk5b7zt7A3DHvDu0JPTbSSUwpso/p2I5WJYjrf71I7YMQwIFLoMfplC1onVA3EFS3lZsF65zE+xVRy34AKa41iZAMbhVDyqUHEnx6L0dwEdn2Z5XLlK0ov1+qLTLlQsBE4Knre6TNkWMfktk7MKA+ch8RYxvEYLODhQkIrOkLSNWhZPhdaT+xD4fr0RCKSHo6uWRC4aofsJx8wSqb8ZL4j2zopUp9VisMOI202UEnvFDBtOkVGJSxxYbFjifIB7NCJBn788w+3k+k4IbOg537VdyoK2PMBR8/TDdjImWhWHY1i7+345ejwmzHL7ZPfb6GTNnQTWkajT77/n6Yk41twR5vvegOSTKuuO++WN/pUks4PGqtcQe9fnSfx2OcOq1ofLiG+JDorJ7z8kHSG13wHLq+QYMDayQbyJEYpDzmn/w3Ou1s2o0a7A41+cIkRzAgH9y3v4lgjp9GcMP2S74ZPA7OecWbFSexM7tL/dYxY= + - secure: DKCGc4E9PKeTX68r9pbbNg5qITsN0bApQ1m0x8xdEoi8GLRKVMYNn6ahoAxvy1YsBXC9Zlt5++gLmUV1I1JyDMyJXMr/lZrp4oarW0xWpTBmn3HzOph/K2W4i/fTGgMFieumPEbQIFOnU3JSjK6UJB8qVGEXD2OqS7A//EdrGDbAYVDL3ZTKE6JUlTNHgaKaNHhn+Dq4aBLTSYPwlLyqo+WNBVUUCKCHOq62ULF8MpX5YGaPFNxKYzircV7HpF1hCbV31dmpkeYT9xztra5V0SIBM27jAcQqGmtHH2mhx1sLu+gjhFJbbtY6cggA9EedzYYLDx/NPmgfyuOJfyVbSwTF3vhDUYfskqc1THWpwOSKO0Ry+8/xYb9crxg+FSwuI5hnfkIFk9woBvRGBhjto3/1buMNY9dSFiWtEbN6Let8e747l0wIGJCpJxSeh7vn7F1mWjixhf9GX1+V9BrUvGTd3XJDNb9cVnafYa1RTj8BLteA4HBza7Z9R3dvG4YWp16L/94UuaTzgAQfERLTZGopQth/hsaVTlYesJmJLF70lGM+W83y3YuNkSaX1zQ5FAIvp7oH0O16t7ISm6GprUFwN2Uox7AAbPZdWHxJbly+D+yCFNcqS3Bz9mV3YCLo690Sy1ePNHr+nCseVfBMo7OYyavSS/EjPWfEy65Wq04= diff --git a/.travis/build.sh b/.travis/build.sh new file mode 100755 index 0000000000..44652530a7 --- /dev/null +++ b/.travis/build.sh @@ -0,0 +1,19 @@ +#!/bin/bash + +if [ -z "$TRAVIS_TAG" ]; then + ./gradlew clean buildStandardDebug + + git fetch --unshallow #required for commit count + COMMIT_COUNT=$(git rev-list --count HEAD) + export ARTIFACT="tachiyomi-r${COMMIT_COUNT}.apk" + + mv app/build/outputs/apk/app-standard-debug.apk $ARTIFACT +else + ./gradlew clean buildStandardRelease + + TOOLS="${ANDROID_HOME}/build-tools/26.0.1" + export ARTIFACT="tachiyomi-${TRAVIS_TAG}.apk" + + ${TOOLS}/zipalign -v -p 4 app/build/outputs/apk/app-standard-release-unsigned app-aligned.apk + ${TOOLS}/apksigner sign --ks $STORE_PATH --ks-key-alias $STORE_ALIAS --ks-pass env:STORE_PASS --key-pass env:KEY_PASS --out $ARTIFACT app-aligned.apk +fi diff --git a/.travis/deploy.sh b/.travis/deploy.sh new file mode 100755 index 0000000000..248d64311f --- /dev/null +++ b/.travis/deploy.sh @@ -0,0 +1,15 @@ +#!/bin/bash + +pattern="tachiyomi-r*" +files=( $pattern ) +export ARTIFACT="${files[0]}" + +if [ -z "$ARTIFACT" ]; then + echo "Artifact not found" + exit 1 +fi + +export SSHOPTIONS="-o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -i ${DEPLOY_KEY}" + +scp $SSHOPTIONS $ARTIFACT $DEPLOY_USER@$DEPLOY_HOST:builds/ +ssh $SSHOPTIONS $DEPLOY_USER@$DEPLOY_HOST ln -sf builds/$ARTIFACT builds/latest diff --git a/.travis/secrets.tar.enc b/.travis/secrets.tar.enc new file mode 100644 index 0000000000000000000000000000000000000000..a3fa82b35d3c5590cf66ff3abdb3e0d3318d1e4a GIT binary patch literal 8208 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 Ck0Js9 literal 0 HcmV?d00001 diff --git a/app/proguard-rules.pro b/app/proguard-rules.pro index fa96102395..dac8ffbf90 100644 --- a/app/proguard-rules.pro +++ b/app/proguard-rules.pro @@ -6,6 +6,7 @@ -keep class com.hippo.image.** { *; } -keep interface com.hippo.image.** { *; } +-dontwarn nucleus.view.NucleusActionBarActivity # Extensions may require methods unused in the core app -keep class org.jsoup.** { *; }