mirror of
				https://github.com/f-droid/fdroidserver.git
				synced 2025-11-04 14:30:30 +03:00 
			
		
		
		
	
		
			
				
	
	
		
			111 lines
		
	
	
	
		
			3.7 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			111 lines
		
	
	
	
		
			3.7 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;
 | 
						|
 | 
						|
      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";
 | 
						|
      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;
 | 
						|
      /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
 |