.gitlab-ci.yml 3.09 KB
Newer Older
1
image: mvdan/fdroid-ci:client-20160516
Daniel Martí's avatar
Daniel Martí committed
2

3 4 5 6 7
cache:
  paths:
    - .gradle/wrapper
    - .gradle/caches

8
build:
9
  script:
10
    - export GRADLE_USER_HOME=$PWD/.gradle
11
    - ./gradlew assemble -PdisablePreDex
12
    # always report on lint errors to the build log
13
    - sed -i -e 's,textReport .*,textReport true,' app/build.gradle
14 15
    - ./gradlew lint -PdisablePreDex
    - ./gradlew test -PdisablePreDex || {
16
          for log in app/build/reports/*ests/*/*ml; do
17
              echo "read $log here:";
18 19 20 21
              cat "$log" | curl --silent -F 'clbin=<-' https://clbin.com;
          done;
          exit 1;
      }
22 23
    # this file changes every time but should not be cached
    - rm -f $GRADLE_USER_HOME/caches/modules-2/modules-2.lock
24

25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
connected10:
  variables:
    AVD_SDK: "10"
    # switch glibc to a memory conserving mode
    MALLOC_ARENA_MAX: "2"
  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
    - ./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
    # this file changes every time but should not be cached
    - rm -f $GRADLE_USER_HOME/caches/modules-2/modules-2.lock
    - exit $EXITVALUE

connected17:
52 53 54 55
  variables:
    AVD_SDK: "17"
    # switch glibc to a memory conserving mode
    MALLOC_ARENA_MAX: "2"
56 57
  script:
    - export GRADLE_USER_HOME=$PWD/.gradle
58
    - emulator64-arm -avd fcl-test-$AVD_SDK -no-skin -no-audio -no-window &
59
    - ./tools/wait-for-emulator
60
    - adb shell input keyevent 82 &
61
    - export EXITVALUE=0
62
    - ./gradlew connectedCheck -PdisablePreDex || {
63 64 65 66 67 68 69 70 71 72
        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
73 74
    # this file changes every time but should not be cached
    - rm -f $GRADLE_USER_HOME/caches/modules-2/modules-2.lock
75
    - exit $EXITVALUE
76 77 78 79

pmd:
  script:
    - export GRADLE_USER_HOME=$PWD/.gradle
80
    - ./gradlew pmd -PdisablePreDex
81 82
    # this file changes every time but should not be cached
    - rm -f $GRADLE_USER_HOME/caches/modules-2/modules-2.lock
83 84 85 86

checkstyle:
  script:
    - export GRADLE_USER_HOME=$PWD/.gradle
87
    - ./gradlew checkstyle -PdisablePreDex
88 89
    # this file changes every time but should not be cached
    - rm -f $GRADLE_USER_HOME/caches/modules-2/modules-2.lock
90 91 92

tools:
  script:
93
    - cd app
94 95
    - ./tools/langs-list-check.py
    - ./tools/check-string-format.py