fdroid-client/.gitlab-ci.yml

80 lines
2.6 KiB
YAML

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
- ./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/