PolyBooks/sdp_polyBooks

View on GitHub
.cirrus.yml

Summary

Maintainability
Test Coverage
check_android_task:
  name: Run Android tests
  env:
    API_LEVEL: 29
    TARGET: default
    ARCH: x86
    CC_TEST_REPORTER_ID: ENCRYPTED[56684169ab302ebeb4f6b939d3d1463f0aa2e6b042545121a333db6e6d42ff34a4111c9abf32bcc46c5100fee955171a]
  container:
    image: reactivecircus/android-emulator-$API_LEVEL:latest
    kvm: true
    cpu: 8
    memory: 10G
  environment:
    FIREBASE_TOKEN: ENCRYPTED[32505d9749ff1f15e54196723553c424f9965363643abd3b170646be42e424dc40a19549fe52c39a3d79dbeb8f753d30]
  create_device_script:
    echo no | avdmanager create avd --force --name test --abi "$TARGET/$ARCH" --package "system-images;android-$API_LEVEL;$TARGET;$ARCH"
  start_emulator_background_script:
    $ANDROID_SDK_ROOT/emulator/emulator -avd test -no-window -gpu swiftshader_indirect -no-snapshot -no-audio -no-boot-anim -camera-back none
  setup_firebase_script: |
    cd firebase
    curl -sL https://firebase.tools/bin/linux/latest -o firebase-tools
    chmod u+x firebase-tools
    ./firebase-tools emulators:start --only auth,database,firestore &
  build_script: |
    chmod +x gradlew
    ./gradlew assembleDebugAndroidTest
  wait_for_emulator_script: |
    adb wait-for-device
    adb shell input keyevent 82
  disable_animations_script: |
    adb shell settings put global window_animation_scale 0.0
    adb shell settings put global transition_animation_scale 0.0
    adb shell settings put global animator_duration_scale 0.0
  prepare_codeclimate_script: |
    curl -L https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64 > ./cc-test-reporter
    chmod +x ./cc-test-reporter
    ./cc-test-reporter before-build
  check_script:
    ./gradlew check connectedCheck
  report_codeclimate_script: |
    export JACOCO_SOURCE_PATH=app/src/main/java/
    ./cc-test-reporter format-coverage ./app/build/reports/jacoco/jacocoTestReport/jacocoTestReport.xml --input-type jacoco
    ./cc-test-reporter upload-coverage
  lint_script:
    ./gradlew lintDebug
  always:
    android-lint_artifacts:
      path: ./app/build/reports/lint-results-debug.xml
      type: text/xml
      format: android-lint