image: mvdan/fdroid-ci:client-20160512 cache: paths: - .gradle/wrapper - .gradle/caches variables: AVD_SDK: "17" # switch glibc to a memory conserving mode MALLOC_ARENA_MAX: "2" build: script: - export GRADLE_USER_HOME=$PWD/.gradle # always report on lint errors to the build log - sed -i -e 's,textReport .*,textReport true,' app/build.gradle # 'build' means assemble and check - ./gradlew build -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; } connectedCheck: script: - export GRADLE_USER_HOME=$PWD/.gradle - 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 - ADB_INSTALL_TIMEOUT=8 ./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 - sed -n 's/.*"ctr2">\([0-9]*\)%<.*/Coverage - \1.0% covered\n/p' app/build/reports/coverage/debug/index.html # this file changes every time but should not be cached - rm -f $GRADLE_USER_HOME/caches/modules-2/modules-2.lock - exit $EXITVALUE pmd: script: - export GRADLE_USER_HOME=$PWD/.gradle - ./gradlew pmd -PdisablePreDex checkstyle: script: - export GRADLE_USER_HOME=$PWD/.gradle - ./gradlew checkstyle -PdisablePreDex tools: script: - cd app - ./tools/langs-list-check.py - ./tools/check-string-format.py