chiark / gitweb /
use Babel to compile localizations and include in source tarball
[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.1
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: xcode7.3
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: xcode6.4
19       env: ANDROID_SDK_ROOT=/usr/local/share/android-sdk
20       env: ANDROID_HOME=/usr/local/share/android-sdk
21
22 addons:
23   apt:
24     sources:
25       - sourceline: 'ppa:fdroid/fdroidserver'
26     packages:
27     - bash
28     - dash
29     - pylint
30     - pep8
31     - python3-babel
32     - python3-dev
33     - python3-pip
34     - python3-ruamel.yaml
35     - python3-setuptools
36     - python3.4-venv
37     - libjpeg-dev
38     - zlib1g-dev
39     - fdroidserver
40
41 android:
42   components:
43     - android-23  # required for `fdroid build` test
44     - build-tools-25.0.3  # required for `fdroid build` test
45   licenses:
46     - 'android-sdk-preview-.+'
47     - 'android-sdk-license-.+'
48
49 # the PPA is needed on Ubuntu 14.04 precise, and with python3, trusty too
50 # the pip thing is a hack that can go away with trusty.
51 #
52 # * ensure java8 is installed since Android SDK doesn't work with Java9
53 # * Java needs to be at least 1.8.0_131 to have MD5 properly disabled
54 #   https://blogs.oracle.com/java-platform-group/oracle-jre-will-no-longer-trust-md5-signed-code-by-default
55 #   https://opsech.io/posts/2017/Jun/09/openjdk-april-2017-security-update-131-8u131-and-md5-signed-jars.html
56 install:
57   - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
58       brew update > /dev/null;
59       brew install dash bash python3 gradle jenv;
60       brew install gnu-sed --with-default-names;
61       if ! ruby -e 'v = `javac -version 2>&1`.split()[1].gsub("_", "."); exit Gem::Dependency.new("", "~> 1.8.0.131").match?("", v)'; then
62         brew cask uninstall java --force;
63         brew cask install caskroom/versions/java8;
64       fi;
65       brew cask install android-sdk;
66
67       mkdir -p "$ANDROID_HOME/licenses";
68       echo -e "\n8933bad161af4178b1185d1a37fbf41ea5269c55" > "$ANDROID_HOME/licenses/android-sdk-license";
69       echo -e "\n84831b9409646a918e30573bab4c9c91346d8abd" > "$ANDROID_HOME/licenses/android-sdk-preview-license";
70       echo y | $ANDROID_HOME/tools/bin/sdkmanager "platform-tools" > /dev/null 2&>1;
71       echo y | $ANDROID_HOME/tools/bin/sdkmanager "build-tools;25.0.2" > /dev/null 2&>1;
72       echo y | $ANDROID_HOME/tools/bin/sdkmanager "platforms;android-23" > /dev/null 2&>1;
73
74       sudo pip3 install --quiet --editable . ;
75       sudo rm -rf fdroidserver.egg-info;
76
77       echo $PATH;
78       echo $JAVA_HOME;
79       jenv versions;
80       /usr/libexec/java_home;
81       java -version;
82       which java;
83       javac -version;
84       which javac;
85       jarsigner -help;
86       which jarsigner;
87       keytool -help;
88       which keytool;
89     fi
90
91 script:
92   - cd tests
93   - ./complete-ci-tests
94
95 after_failure:
96   - cd $TRAVIS_BUILD_DIR
97   - ls -lR | curl -F 'clbin=<-' https://clbin.com