chiark / gitweb /
main: force exit on keyboard interrupt
[fdroidserver.git] / .travis.yml
index 9d78587c951db9a42d69c471b3fc64ab4f91df39..87adfa86e585268fe71959376cfbb541b6d0b935 100644 (file)
@@ -19,6 +19,9 @@ matrix:
       env: ANDROID_SDK_ROOT=/usr/local/share/android-sdk
       env: ANDROID_HOME=/usr/local/share/android-sdk
 
+# On Ubuntu/trusty 14.04, the PPA is needed on to provide lots of the
+# dependencies, but this then also serves as a test of the PPA, which
+# is used on Windows Subsystem for Linux.
 addons:
   apt:
     sources:
@@ -28,6 +31,7 @@ addons:
     - dash
     - pylint
     - pep8
+    - python3-babel
     - python3-dev
     - python3-pip
     - python3-ruamel.yaml
@@ -45,15 +49,13 @@ android:
     - 'android-sdk-preview-.+'
     - 'android-sdk-license-.+'
 
-# the PPA is needed on Ubuntu 14.04 precise, and with python3, trusty too
-# the pip thing is a hack that can go away with trusty.
-#
 # * ensure java8 is installed since Android SDK doesn't work with Java9
 # * Java needs to be at least 1.8.0_131 to have MD5 properly disabled
 #   https://blogs.oracle.com/java-platform-group/oracle-jre-will-no-longer-trust-md5-signed-code-by-default
 #   https://opsech.io/posts/2017/Jun/09/openjdk-april-2017-security-update-131-8u131-and-md5-signed-jars.html
 install:
   - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
+      set -x;
       brew update > /dev/null;
       brew install dash bash python3 gradle jenv;
       brew install gnu-sed --with-default-names;
@@ -63,16 +65,21 @@ install:
       fi;
       brew cask install android-sdk;
 
+      export AAPT_VERSION=`sed -n "s,^MINIMUM_AAPT_VERSION\s*=\s*['\"]\(.*\)[['\"],\1,p" fdroidserver/common.py`;
       mkdir -p "$ANDROID_HOME/licenses";
       echo -e "\n8933bad161af4178b1185d1a37fbf41ea5269c55" > "$ANDROID_HOME/licenses/android-sdk-license";
+      echo -e "\nd56f5187479451eabf01fb78af6dfcb131a6481e" >> "$ANDROID_HOME/licenses/android-sdk-license";
       echo -e "\n84831b9409646a918e30573bab4c9c91346d8abd" > "$ANDROID_HOME/licenses/android-sdk-preview-license";
-      echo y | $ANDROID_HOME/tools/bin/sdkmanager "platform-tools" > /dev/null 2&>1;
-      echo y | $ANDROID_HOME/tools/bin/sdkmanager "build-tools;25.0.2" > /dev/null 2&>1;
-      echo y | $ANDROID_HOME/tools/bin/sdkmanager "platforms;android-23" > /dev/null 2&>1;
+      echo y | $ANDROID_HOME/tools/bin/sdkmanager "platform-tools";
+      echo y | $ANDROID_HOME/tools/bin/sdkmanager "build-tools;$AAPT_VERSION";
+      echo y | $ANDROID_HOME/tools/bin/sdkmanager "platforms;android-23";
 
+      sudo pip3 install babel;
       sudo pip3 install --quiet --editable . ;
       sudo rm -rf fdroidserver.egg-info;
 
+      ls -l /System/Library/Java/JavaVirtualMachines || true;
+      ls -l /Library/Java/JavaVirtualMachines || true;
       echo $PATH;
       echo $JAVA_HOME;
       jenv versions;
@@ -85,11 +92,19 @@ install:
       which jarsigner;
       keytool -help;
       which keytool;
+      set +x;
     fi
 
+# The OSX tests seem to run slower, they often timeout.  So only run
+# the test suite with the installed version of fdroid, instead of the
+# three rounds that ./complete-ci-tests does.
 script:
   - cd tests
-  - ./complete-ci-tests
+  - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
+      ./run-tests;
+    else
+      ./complete-ci-tests;
+    fi
 
 after_failure:
   - cd $TRAVIS_BUILD_DIR