Skip to content

Commit 3e60426

Browse files
committedOct 11, 2017
Saves test artifacts in a human-readable directory structure
1 parent 23a5796 commit 3e60426

File tree

2 files changed

+11
-7
lines changed

2 files changed

+11
-7
lines changed
 

‎circle.yml

-1
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,5 @@ test:
1717
override:
1818
- ./test_all_ftl.sh
1919
post:
20-
- sudo /opt/google-cloud-sdk/bin/gsutil -m cp -r -U `sudo /opt/google-cloud-sdk/bin/gsutil ls gs://cloud-test-android-devrel-ci | tail -1` $CIRCLE_ARTIFACTS/ | true
2120
- mkdir -p $CIRCLE_TEST_REPORTS/junit/
2221
- find $CIRCLE_ARTIFACTS -name \*.xml -exec cp {} $CIRCLE_TEST_REPORTS/junit/ \;

‎test_all_ftl.sh

+11-6
Original file line numberDiff line numberDiff line change
@@ -4,34 +4,39 @@ set -e # Exit immediately if a command exits with a non-zero status.
44

55
for line in $(find . -name 'gradlew'); do
66
p=$(dirname "${line}");
7+
name="${p##*/}";
78
echo
89
echo
9-
echo Running unit and Android tests in $p
10+
echo Running unit and Android tests in $name
1011
echo "====================================================================="
1112

1213
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
1415
code=${PIPESTATUS[0]}
1516
if [ "$code" -ne "0" ]; then
1617
exit $code
1718
fi
1819

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
2122

2223
apkfile=app/build/outputs/apk/debug/app-debug.apk
2324
testapkfile=app/build/outputs/apk/androidTest/debug/app-debug-androidTest.apk
2425
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"
2627
popd > /dev/null # Silent popd
2728
continue
2829
fi
2930
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+
3133
code=${PIPESTATUS[0]}
3234
if [ "$code" -ne "0" ]; then
3335
exit $code
3436
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
3540
popd > /dev/null # Silent popd
3641
done
3742

0 commit comments

Comments
 (0)
Please sign in to comment.