From 891f26715b44b535fb12e2cb0446228e8739bfbe Mon Sep 17 00:00:00 2001 From: Mattia Iavarone Date: Thu, 5 Dec 2019 17:57:49 +0100 Subject: [PATCH] Travis changes --- .travis.yml | 70 ++++++++++++++++++++++++----------------------------- 1 file changed, 31 insertions(+), 39 deletions(-) diff --git a/.travis.yml b/.travis.yml index 5878a459..9b886467 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,5 +1,3 @@ -# https://github.com/andstatus/andstatus/blob/master/.travis.yml - language: android branches: @@ -16,70 +14,64 @@ jdk: env: global: - - EMULATOR_API=22 # 24 has some issues, probably some overlayed window - - EMULATOR_ABI=x86_64 # seems to work with emulator v29. - - EMULATOR_TAG=default # can be google_apis + - EMULATOR_ABI=x86_64 # works starting from emulator v29. + - EMULATOR_TAG=default # can be google_apis or google_apis_playstore - PATH=$ANDROID_HOME:$ANDROID_HOME/emulator:$ANDROID_HOME/platform-tools:$PATH - -android: - components: - - tools - - platform-tools - - build-tools-28.0.3 - - android-28 - - doc-28 + matrix: + - EMULATOR_API=22 + +before_install: + # Perform actions that are common to all APIs in the matrix + - echo $ANDROID_HOME # We assume this is correctly set due to 'language:android' + - echo y | sdkmanager "platform-tools" >/dev/null + - echo y | sdkmanager "tools" >/dev/null + - echo y | sdkmanager "emulator" >/dev/null + - echo y | sdkmanager "built-tools;28.0.3" >/dev/null + - echo y | sdkmanager "platforms;android-28" >/dev/null + - sdkmanager --list || true # Check everything is updated install: - # Setup - - echo $ANDROID_HOME # We assume this is correctly set when setting path - - sdkmanager --list || true # Look at the packages - - echo yes | sdkmanager "tools" # Ensure tools is updated - - echo yes | sdkmanager "emulator" # Ensure emulator is present - - # Install emulator - # The channel=4 line looks into canary which brings in v29. - # The previous version v28 was broken: - # https://travis-ci.community/t/android-emulators-not-starting-for-the-last-few-days-late-march-2019/2871/11?u=mikehardy + # Install the emulator tools - export EMULATOR="system-images;android-$EMULATOR_API;$EMULATOR_TAG;$EMULATOR_ABI" - - echo yes | sdkmanager "platforms;android-$EMULATOR_API" # Install sdk for the emulator - - echo yes | sdkmanager --channel=4 "$EMULATOR" # Install system image + - echo y | sdkmanager "platforms;android-$EMULATOR_API" >/dev/null # Install sdk for the emulator + - echo y | sdkmanager "$EMULATOR" >/dev/null # Install system image - sdkmanager --list || true # Check everything is updated - # Create adn start emulator - - echo no | avdmanager create avd -n test -k "$EMULATOR" -f # Create emulator virtual device - - which emulator # ensure we are using the right emulator ($ANDROID_HOME/emulator/emulator) + # Create and start the emulator + - echo no | avdmanager create avd --force --name test --package "$EMULATOR" # Create emulator virtual device - emulator -avd test -no-window -no-accel -no-snapshot -camera-back emulated -camera-front emulated -memory 2048 -writable-system & # Launch - - adb wait-for-device # Wait for adb process - - adb remount # Mount as writable -before_script: # Wait for emulator + - adb wait-for-device # Wait for adb process + - adb remount # Mount as writable - android-wait-for-emulator # Wait for emulator ready to interact - adb shell settings put global window_animation_scale 0 & # Disable animations - adb shell settings put global transition_animation_scale 0 & # Disable animations - adb shell settings put global animator_duration_scale 0 & # Disable animations + - sleep 10 # Sleep 10 seconds just in case + - adb shell input keyevent 82 & # Dispatch unlock event + - sleep 10 # Sleep 10 seconds just in case - # Unlock and configure logs. + # Configure logs # Would be great to use -v color to adb logcat but looks not supported on travis. - - sleep 20 # Sleep 20 seconds just in case - - adb shell input keyevent 82 & # Dispatch unlock event - adb logcat --help # See if this version supports color - adb logcat -c # Clear logcat - - adb logcat Test:V TestRunner:V CameraView:V CameraController:V Camera1:V WorkerHandler:V THREAD_STATE:S *:E & + - adb logcat Test:V TestRunner:V CameraView:I CameraEngine:I Camera1Engine:I Camera2Engine:I WorkerHandler:I THREAD_STATE:S *:E & # - export LOGCAT_PID=$! # Save PID of the logcat process. Should kill later with kill $LOGCAT_PID - - script: - ./gradlew clean demo:assembleDebug cameraview:testDebugUnitTest cameraview:connectedCheck cameraview:mergedCoverageReport cameraview:javadoc after_success: - bash <(curl -s https://codecov.io/bash) -s "*/build/reports/mergedCoverageReport/" +before_cache: + - rm -f $HOME/.gradle/caches/modules-2/modules-2.lock + cache: directories: - - $HOME/.gradle - - $HOME/.m2/repository + - $HOME/.gradle/caches/ + - $HOME/.gradle/wrapper/ deploy: provider: script