chiark / gitweb /
Replace deprecated mwclient method
[fdroidserver.git] / .travis.yml
1
2 # Use the Android base system since it provides the SDK, etc.
3 language: java
4
5 matrix:
6   include:
7     - os: linux
8       language: android
9     - os: osx
10       osx_image: xcode9.3beta
11       env: ANDROID_SDK_ROOT=/usr/local/share/android-sdk
12       env: ANDROID_HOME=/usr/local/share/android-sdk
13     - os: osx
14       osx_image: xcode9.2
15       env: ANDROID_SDK_ROOT=/usr/local/share/android-sdk
16       env: ANDROID_HOME=/usr/local/share/android-sdk
17     - os: osx
18       osx_image: xcode7.3
19       env: ANDROID_SDK_ROOT=/usr/local/share/android-sdk
20       env: ANDROID_HOME=/usr/local/share/android-sdk
21     - os: osx
22       osx_image: xcode6.4
23       env: ANDROID_SDK_ROOT=/usr/local/share/android-sdk
24       env: ANDROID_HOME=/usr/local/share/android-sdk
25
26 # On Ubuntu/trusty 14.04, the PPA is needed on to provide lots of the
27 # dependencies, but this then also serves as a test of the PPA, which
28 # is used on Windows Subsystem for Linux.
29 addons:
30   apt:
31     sources:
32       - sourceline: 'ppa:fdroid/fdroidserver'
33     packages:
34     - bash
35     - dash
36     - pylint
37     - pep8
38     - python3-babel
39     - python3-dev
40     - python3-pip
41     - python3-ruamel.yaml
42     - python3-setuptools
43     - python3.4-venv
44     - libjpeg-dev
45     - zlib1g-dev
46     - fdroidserver
47
48 android:
49   components:
50     - android-23  # required for `fdroid build` test
51     - build-tools-25.0.3  # required for `fdroid build` test
52   licenses:
53     - 'android-sdk-preview-.+'
54     - 'android-sdk-license-.+'
55
56 # * ensure java8 is installed since Android SDK doesn't work with Java9
57 # * Java needs to be at least 1.8.0_131 to have MD5 properly disabled
58 #   https://blogs.oracle.com/java-platform-group/oracle-jre-will-no-longer-trust-md5-signed-code-by-default
59 #   https://opsech.io/posts/2017/Jun/09/openjdk-april-2017-security-update-131-8u131-and-md5-signed-jars.html
60 install:
61   - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
62       set -x;
63       brew update > /dev/null;
64       if [ "`sw_vers -productVersion | sed 's,10\.\([0-9]*\).*,\1,'`" -gt 10 ]; then
65         brew upgrade python;
66       else
67         brew install python3;
68       fi;
69       brew install dash bash gradle jenv;
70       brew install gnu-sed --with-default-names;
71       if ! ruby -e 'v = `javac -version 2>&1`.split()[1].gsub("_", "."); exit Gem::Dependency.new("", "~> 1.8.0.131").match?("", v)'; then
72         brew cask uninstall java --force;
73         brew cask install caskroom/versions/java8;
74       fi;
75       brew cask install android-sdk;
76
77       export AAPT_VERSION=`sed -n "s,^MINIMUM_AAPT_VERSION\s*=\s*['\"]\(.*\)[['\"],\1,p" fdroidserver/common.py`;
78       mkdir -p "$ANDROID_HOME/licenses";
79       echo -e "\n8933bad161af4178b1185d1a37fbf41ea5269c55" > "$ANDROID_HOME/licenses/android-sdk-license";
80       echo -e "\nd56f5187479451eabf01fb78af6dfcb131a6481e" >> "$ANDROID_HOME/licenses/android-sdk-license";
81       echo -e "\n84831b9409646a918e30573bab4c9c91346d8abd" > "$ANDROID_HOME/licenses/android-sdk-preview-license";
82       echo y | $ANDROID_HOME/tools/bin/sdkmanager "platform-tools";
83       echo y | $ANDROID_HOME/tools/bin/sdkmanager "build-tools;$AAPT_VERSION";
84       echo y | $ANDROID_HOME/tools/bin/sdkmanager "platforms;android-23";
85
86       sudo pip3 install babel;
87       sudo pip3 install --quiet --editable . ;
88       sudo rm -rf fdroidserver.egg-info;
89
90       ls -l /System/Library/Java/JavaVirtualMachines || true;
91       ls -l /Library/Java/JavaVirtualMachines || true;
92       echo $PATH;
93       echo $JAVA_HOME;
94       jenv versions;
95       /usr/libexec/java_home;
96       java -version;
97       which java;
98       javac -version;
99       which javac;
100       jarsigner -help;
101       which jarsigner;
102       keytool -help;
103       which keytool;
104       set +x;
105     fi
106
107 # The OSX tests seem to run slower, they often timeout.  So only run
108 # the test suite with the installed version of fdroid, instead of the
109 # three rounds that ./complete-ci-tests does.
110 script:
111   - cd tests
112   - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
113       ./run-tests;
114     else
115       ./complete-ci-tests;
116     fi
117
118 after_failure:
119   - cd $TRAVIS_BUILD_DIR
120   - ls -lR | curl -F 'clbin=<-' https://clbin.com