-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy path.cirrus.yml
83 lines (80 loc) · 3.05 KB
/
.cirrus.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
container:
image: cirrusci/android-sdk:33
cpu: 8
memory: 16G
kvm: true
env:
CC_TEST_REPORTER_ID: ENCRYPTED[ca4c0af7dbdaac713bbfd84dcba3b49a8d8d65f83693235e570b944f676fa090bbd8bdb55093d5b6c2be7ef8adb8a92a]
MAPS_API_KEY: ENCRYPTED[!7d26352921350ef03cf3f093a6d3dbf919cd78b69cb813dd565ed168b905fdb1844751a63bb213bcb46ed98e794a86e0!]
check_android_task:
name: Run Android tests
install_jdk17_script: |
sudo apt-get update
sudo apt-get install -y openjdk-17-jdk
install_emulator_script:
sdkmanager --install "system-images;android-33;google_apis;x86_64"
create_avd_script: echo no | avdmanager create avd --force
--name emulator
--package "system-images;android-33;google_apis;x86_64"
--device "pixel_4"
start_avd_background_script: $ANDROID_HOME/emulator/emulator
-avd emulator
-no-audio
-no-boot-anim
-gpu swiftshader_indirect
-no-snapshot
-no-window
-camera-back emulated
build_script: |
chmod +x gradlew
echo MAPS_API_KEY=$MAPS_API_KEY >> local.properties
./gradlew assembleDebugAndroidTest
download_firebase_emulator_script: |
curl -Lo ./firebase https://firebase.tools/bin/linux/latest
assemble_instrumented_tests_script: |
chmod +x gradlew
./gradlew assembleDebugAndroidTest
wait_for_avd_script:
adb wait-for-device shell 'while [[ -z $(getprop sys.boot_completed) ]]; do sleep 3; done; 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
screen_record_background_script:
for n in $(seq 1 20); do adb exec-out screenrecord --time-limit=180 --output-format=h264 - > $n.h264; done
start_logcat_background_script:
adb logcat > log.log
check_script: |
chmod +x firebase
./firebase emulators:exec --import=./firebase_emulator_data --project sdp-firebase-bootcamp-c795d './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:
stop_logcat_script: |
if [[ $(adb devices | awk 'NR>1 {print $1}') =~ "emulator.*" ]]; then
adb logcat -c
fi
wait_for_screenrecord_script: |
pkill -2 -x adb
sleep 2
screenrecord_artifacts:
path: "*.h264"
android_lint_artifacts:
path: ./app/build/reports/lint-results-debug.xml
format: android-lint
test_artifacts:
path: "./app/build/test-results/**/*.xml"
format: junit
androidtest_artifacts:
path: "./app/build/outputs/**/*.xml"
format: junit
logs_artifacts:
path: log.log