image: registry.gitlab.com/fdroid/ci-images:client-latest cache: paths: - .gradle/wrapper - .gradle/caches before_script: - export GRADLE_USER_HOME=$PWD/.gradle - export ANDROID_COMPILE_SDK=`sed -n 's,.*compileSdkVersion\s*\([0-9][0-9]*\).*,\1,p' app/build.gradle` - echo y | android --silent update sdk --no-ui --filter android-${ANDROID_COMPILE_SDK} test: script: - ./tools/check-format-strings.py - ./tools/remove-unused-and-blank-translations.py - git diff | grep diff && false # there should be no changes - ./gradlew assemble -PdisablePreDex # always report on lint errors to the build log - sed -i -e 's,textReport .*,textReport true,' app/build.gradle - ./gradlew lint -PdisablePreDex - ./gradlew pmd -PdisablePreDex - ./gradlew checkstyle -PdisablePreDex - ./gradlew test -PdisablePreDex || { for log in app/build/reports/*ests/*/*ml; do echo "read $log here:"; cat "$log" | curl --silent -F 'clbin=<-' https://clbin.com; done; exit 1; } connected10: variables: AVD_SDK: "10" script: - ./gradlew assembleDebug -PdisablePreDex - emulator64-arm -avd fcl-test-$AVD_SDK -no-skin -no-audio -no-window & - ./tools/wait-for-emulator - adb shell input keyevent 82 & - export EXITVALUE=0 - ./gradlew connectedCheck -PdisablePreDex || { adb -e logcat -d '*:E'; echo "get the full logcat here:"; adb -e logcat -d | curl --silent -F 'clbin=<-' https://clbin.com; export EXITVALUE=1; } - for log in app/build/reports/*ests/*/*ml app/build/outputs/*results*/connected/*.xml; do echo "read $log here:"; cat "$log" | curl --silent -F 'clbin=<-' https://clbin.com; done allow_failure: true connected24: variables: AVD_SDK: "24" script: - ./gradlew assembleDebug -PdisablePreDex - android list avd - emulator64-arm -avd fcl-test-$AVD_SDK -no-audio -no-window & - ./tools/wait-for-emulator - adb shell input keyevent 82 & - adb devices - export EXITVALUE=0 - ./gradlew connectedCheck -PdisablePreDex || { adb -e logcat -d '*:E'; echo "get the full logcat here:"; adb -e logcat -d | curl --silent -F 'clbin=<-' https://clbin.com; export EXITVALUE=1; } - for log in app/build/reports/*ests/*/*ml app/build/outputs/*results*/connected/*.xml; do echo "read $log here:"; cat "$log" | curl --silent -F 'clbin=<-' https://clbin.com; done - exit $EXITVALUE after_script: # this file changes every time but should not be cached - rm -f $GRADLE_USER_HOME/caches/modules-2/modules-2.lock - rm -fr $GRADLE_USER_HOME/caches/*/plugin-resolution/