mirror of
https://gitlab.com/fdroid/fdroidserver.git
synced 2024-08-18 12:20:10 +02:00
93 lines
3.6 KiB
YAML
93 lines
3.6 KiB
YAML
|
|
# Use the Android base system since it provides the SDK, etc.
|
|
language: java
|
|
|
|
matrix:
|
|
include:
|
|
- os: osx
|
|
osx_image: xcode12
|
|
env: ANDROID_SDK_ROOT=/usr/local/share/android-sdk
|
|
env: ANDROID_HOME=/usr/local/share/android-sdk
|
|
- os: osx
|
|
osx_image: xcode10.3
|
|
env: ANDROID_SDK_ROOT=/usr/local/share/android-sdk
|
|
env: ANDROID_HOME=/usr/local/share/android-sdk
|
|
|
|
android:
|
|
components:
|
|
- android-23 # required for `fdroid build` test
|
|
- build-tools-28.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
|
|
# * mercurial is unused and requires Python 2.x
|
|
install:
|
|
- export HOMEBREW_CURL_RETRIES=10
|
|
- brew update > /dev/null
|
|
- if [ "`sw_vers -productVersion | sed 's,10\.\([0-9]*\).*,\1,'`" -ge 14 ]; then
|
|
python3 --version;
|
|
elif [ "`sw_vers -productVersion | sed 's,10\.\([0-9]*\).*,\1,'`" -gt 10 ]; then
|
|
brew uninstall mercurial --force;
|
|
brew upgrade python;
|
|
else
|
|
brew install python3;
|
|
fi
|
|
- brew install dash bash gnu-sed gradle jenv
|
|
- export PATH="/usr/local/opt/gnu-sed/libexec/gnubin:$PATH"
|
|
- brew uninstall java --force || true
|
|
- brew cask uninstall java --force || true
|
|
- brew tap adoptopenjdk/openjdk
|
|
- travis_retry brew install --cask adoptopenjdk8
|
|
- export JAVA_HOME=`/usr/libexec/java_home -v 1.8`
|
|
- travis_retry brew install --cask android-sdk
|
|
|
|
- export AAPT_VERSION=`sed -n "s,^MINIMUM_APKSIGNER_BUILD_TOOLS_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 "\n24333f8a63b6825ea9c5514f83c2829b004d1fee" >> "$ANDROID_HOME/licenses/android-sdk-license"
|
|
- echo -e "\n84831b9409646a918e30573bab4c9c91346d8abd" > "$ANDROID_HOME/licenses/android-sdk-preview-license"
|
|
- echo y | travis_retry $ANDROID_HOME/tools/bin/sdkmanager "platform-tools" > /dev/null
|
|
- echo y | travis_retry $ANDROID_HOME/tools/bin/sdkmanager "build-tools;$AAPT_VERSION" > /dev/null
|
|
- echo y | travis_retry $ANDROID_HOME/tools/bin/sdkmanager "platforms;android-23" > /dev/null
|
|
|
|
- travis_retry sudo pip3 install --progress-bar off babel
|
|
- travis_retry sudo pip3 install --quiet --progress-bar off --editable .
|
|
- sudo rm -rf fdroidserver.egg-info
|
|
|
|
- ls -l /System/Library/Java/JavaVirtualMachines || true
|
|
- ls -l /Library/Java/JavaVirtualMachines || true
|
|
- for f in /Library/Java/JavaVirtualMachines/*.jdk; do jenv add $f; done
|
|
- 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
|
|
- sudo rm -rf /Library/Java/JavaVirtualMachines/jdk1.8.0_1*.jdk || true
|
|
|
|
# The OSX tests seem to run slower, they often timeout. So only run
|
|
# the test suite with the installed version of fdroid.
|
|
#
|
|
# macOS sticks with bash 3.x because of licenses, so avoid use new bash syntax
|
|
script:
|
|
- /bin/bash --version
|
|
- /bin/bash -n gradlew-fdroid tests/run-tests
|
|
|
|
- ./tests/run-tests
|
|
|
|
after_failure:
|
|
- cd $TRAVIS_BUILD_DIR
|
|
- ls -lR | curl -F 'clbin=<-' https://clbin.com
|