Initial commit for TF-A CI scripts
Signed-off-by: Fathi Boudra <fathi.boudra@linaro.org>
diff --git a/script/static-checks/static-checks-coding-style-entire-src-tree.sh b/script/static-checks/static-checks-coding-style-entire-src-tree.sh
new file mode 100755
index 0000000..1d066ae
--- /dev/null
+++ b/script/static-checks/static-checks-coding-style-entire-src-tree.sh
@@ -0,0 +1,54 @@
+#!/bin/bash
+#
+# Copyright (c) 2019, Arm Limited. All rights reserved.
+#
+# SPDX-License-Identifier: BSD-3-Clause
+#
+
+# Check the coding style of the entire source tree against the Linux coding
+# style using the checkpatch.pl script from the Linux kernel source tree.
+
+TEST_CASE="Coding style of entire source tree"
+
+echo "# Check coding style of the entire source tree"
+
+LOG_FILE=$(mktemp -t coding-style-check.XXXX)
+
+# Passing V=1 to 'make checkcodebase' will make it generate a per-file summary
+CHECKPATCH=$CI_ROOT/script/static-checks/checkpatch.pl \
+ make checkcodebase V=1 &> "$LOG_FILE"
+RES=$?
+
+if [[ "$RES" == 0 ]]; then
+ # Ignore warnings, only mark the test as failed if there are errors.
+ # We'll get as many 'total:' lines as the number of files in the source tree.
+ # Search for lines that show a non-null number of errors.
+ grep --quiet 'total: [^0][0-9]* errors' "$LOG_FILE"
+ # grep returns 0 when it founds the pattern, which means there is an error
+ RES=$?
+else
+ RES=0
+fi
+
+if [[ "$RES" == 0 ]]; then
+ EXIT_VALUE=1
+else
+ EXIT_VALUE=0
+fi
+
+echo >> "$LOG_TEST_FILENAME"
+echo "****** $TEST_CASE ******" >> "$LOG_TEST_FILENAME"
+echo >> "$LOG_TEST_FILENAME"
+if [[ "$EXIT_VALUE" == 0 ]]; then
+ echo "Result : SUCCESS" >> "$LOG_TEST_FILENAME"
+else
+ echo "Result : FAILURE" >> "$LOG_TEST_FILENAME"
+fi
+# Always print the script output to show the warnings
+echo >> "$LOG_TEST_FILENAME"
+cat "$LOG_FILE" >> "$LOG_TEST_FILENAME"
+echo >> "$LOG_TEST_FILENAME"
+
+rm -f "$LOG_FILE"
+
+exit "$EXIT_VALUE"