@@ -4,34 +4,39 @@ set -e # Exit immediately if a command exits with a non-zero status.
4
4
5
5
for line in $( find . -name ' gradlew' ) ; do
6
6
p=$( dirname " ${line} " ) ;
7
+ name=" ${p##*/ } " ;
7
8
echo
8
9
echo
9
- echo Running unit and Android tests in $p
10
+ echo Running unit and Android tests in $name
10
11
echo " ====================================================================="
11
12
12
13
pushd $p > /dev/null # Silent pushd
13
- ./gradlew :app:assembleDebug -PdisablePreDex | sed " s@^@$p @" # Prefix every line with directory
14
+ ./gradlew :app:assembleDebug -PdisablePreDex | sed " s@^@$name @" # Prefix every line with directory
14
15
code=${PIPESTATUS[0]}
15
16
if [ " $code " -ne " 0" ]; then
16
17
exit $code
17
18
fi
18
19
19
- ./gradlew :app:assembleAndroidTest -PdisablePreDex | sed " s@^@$p @" # Prefix every line with directory
20
- ./gradlew test -PdisablePreDex | sed " s@^@$p @" # Prefix every line with directory
20
+ ./gradlew :app:assembleAndroidTest -PdisablePreDex | sed " s@^@$name @" # Prefix every line with directory
21
+ ./gradlew test -PdisablePreDex | sed " s@^@$name @" # Prefix every line with directory
21
22
22
23
apkfile=app/build/outputs/apk/debug/app-debug.apk
23
24
testapkfile=app/build/outputs/apk/androidTest/debug/app-debug-androidTest.apk
24
25
if [ ! -f $apkfile ] || [ ! -f $testapkfile ] ; then
25
- echo " APKs not found, probably due to project using multiple flavors. Skipping $p "
26
+ echo " APKs not found, probably due to project using multiple flavors. Skipping $name "
26
27
popd > /dev/null # Silent popd
27
28
continue
28
29
fi
29
30
echo " Sending APKs to Firebase..."
30
- echo " y" | sudo /opt/google-cloud-sdk/bin/gcloud firebase test android run --app $apkfile --test $testapkfile -d Nexus5X -v 26 -l fr --results-bucket android-architecture-components-test-results
31
+ echo " y" | sudo /opt/google-cloud-sdk/bin/gcloud firebase test android run --app $apkfile --test $testapkfile -d Nexus5X -v 26 -l fr --results-bucket=android-architecture-components-test-results --results-dir=$CIRCLE_BUILD_NUM /$name
32
+
31
33
code=${PIPESTATUS[0]}
32
34
if [ " $code " -ne " 0" ]; then
33
35
exit $code
34
36
fi
37
+
38
+ # Copy the test results to the build artifacts folder in CircleCI
39
+ sudo /opt/google-cloud-sdk/bin/gsutil -m cp -r -U ` sudo /opt/google-cloud-sdk/bin/gsutil ls gs://android-architecture-components-test-results/$CIRCLE_BUILD_NUM /$name /test_result* .xml | tail -1` $CIRCLE_ARTIFACTS / | true
35
40
popd > /dev/null # Silent popd
36
41
done
37
42
0 commit comments