1
0
mirror of https://gitlab.com/fdroid/fdroidserver.git synced 2024-11-05 15:00:11 +01:00
fdroidserver/.travis.yml
Hans-Christoph Steiner e0df6d2479 choose the most recent available version of Java
This came about testing on OSX, where there are often multiple versions of
the JDK installed.  This was choosing the oldest version.  It should
choose the most recent version.
2017-10-25 23:01:25 +02:00

109 lines
3.5 KiB
YAML

# Use the Android base system since it provides the SDK, etc.
language: java
matrix:
include:
- os: linux
language: android
- os: osx
osx_image: xcode9.1
env: ANDROID_SDK_ROOT=/usr/local/share/android-sdk
env: ANDROID_HOME=/usr/local/share/android-sdk
- os: osx
osx_image: xcode7.3
env: ANDROID_SDK_ROOT=/usr/local/share/android-sdk
env: ANDROID_HOME=/usr/local/share/android-sdk
- os: osx
osx_image: xcode6.4
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:
- sourceline: 'ppa:fdroid/fdroidserver'
packages:
- bash
- dash
- pylint
- pep8
- python3-babel
- python3-dev
- python3-pip
- python3-ruamel.yaml
- python3-setuptools
- python3.4-venv
- libjpeg-dev
- zlib1g-dev
- fdroidserver
android:
components:
- android-23 # required for `fdroid build` test
- build-tools-25.0.3 # required for `fdroid build` test
licenses:
- 'android-sdk-preview-.+'
- 'android-sdk-license-.+'
# * 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;
if ! ruby -e 'v = `javac -version 2>&1`.split()[1].gsub("_", "."); exit Gem::Dependency.new("", "~> 1.8.0.131").match?("", v)'; then
brew cask uninstall java --force;
brew cask install caskroom/versions/java8;
fi;
brew cask install android-sdk;
mkdir -p "$ANDROID_HOME/licenses";
echo -e "\n8933bad161af4178b1185d1a37fbf41ea5269c55" > "$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;
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;
/usr/libexec/java_home;
java -version;
which java;
javac -version;
which javac;
jarsigner -help;
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
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
./run-tests;
else
./complete-ci-tests;
fi
after_failure:
- cd $TRAVIS_BUILD_DIR
- ls -lR | curl -F 'clbin=<-' https://clbin.com