27
27
echo -e " \n ********** GRADLE INFO *********** "
28
28
gradle -v
29
29
30
- # Setup required enviormental variables
30
+ # Setup required environmental variables
31
31
export GOOGLE_APPLICATION_CREDENTIALS=${KOKORO_GFILE_DIR} /service-acct.json
32
32
export GOOGLE_CLOUD_PROJECT=java-docs-samples-testing
33
33
source ${KOKORO_GFILE_DIR} /aws-secrets.sh
@@ -37,35 +37,36 @@ gcloud auth activate-service-account\
37
37
--key-file=$GOOGLE_APPLICATION_CREDENTIALS \
38
38
--project=$GOOGLE_CLOUD_PROJECT
39
39
40
- echo -e " \n******************** CHECKING FOR AFFECTED FOLDERS ********************"
40
+ echo -e " \n******************** TESTING AFFECTED PROJECTS ********************"
41
41
# Diff to find out what has changed from master
42
42
cd github/java-docs-samples
43
- find ./ * / -name pom.xml -print0 | sort -z | while read -d $' \0' file
43
+ find * -name pom.xml -print0 | sort -z | while read -d $' \0' file
44
44
do
45
+ # Navigate to project
45
46
file=$( dirname " $file " )
46
- echo " ------------------------------------------------------------"
47
- echo " - checking $file "
48
- echo " ------------------------------------------------------------"
49
-
50
-
51
47
pushd " $file " > /dev/null
48
+
52
49
set +e
50
+ # Only tests changed projects
53
51
git diff --quiet master.. .
54
- RTN=$?
52
+ CHANGED=$?
53
+ # Only test leafs to prevent testing twice
54
+ PARENT=$( grep " <modules>" pom.xml -c)
55
55
set -e
56
56
57
57
# Check for changes to the current folder
58
- if [ " $RTN " -eq 1 ]; then
59
- echo -e " \n Change detected. Running tests. \n "
58
+ if [ " $CHANGED " -eq 1 ] && [ " $PARENT " -eq 0 ]; then
59
+ echo " ------------------------------------------------------------"
60
+ echo " - testing $file "
61
+ echo " ------------------------------------------------------------"
62
+
60
63
mvn -q --batch-mode --fail-at-end clean verify \
61
64
-Dfile.encoding=" UTF-8" \
62
65
-Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn \
63
66
-Dmaven.test.redirectTestOutputToFile=true \
64
67
-Dbigtable.projectID=" ${GOOGLE_CLOUD_PROJECT} " \
65
68
-Dbigtable.instanceID=instance
66
- echo -e " Tests complete. \n"
67
- else
68
- echo -e " \n NO change found. \n"
69
+ echo -e " \n Tests complete. \n"
69
70
fi
70
71
71
72
popd > /dev/null
0 commit comments