2022-04-30 22:53:34 +03:00
|
|
|
#!/bin/sh
|
|
|
|
|
|
|
|
set -e
|
|
|
|
|
2022-05-10 22:29:20 +03:00
|
|
|
if [ -z "$GITHUB_BASE_REF" ]
|
|
|
|
then
|
|
|
|
echo "This script is only meant to be run in a GitHub Workflow"
|
|
|
|
exit 1
|
|
|
|
fi
|
2022-04-30 22:53:34 +03:00
|
|
|
|
2022-05-10 22:29:20 +03:00
|
|
|
CHANGED_FILES=$(git diff --name-only "$GITHUB_BASE_REF"...HEAD)
|
2022-04-30 22:53:34 +03:00
|
|
|
|
|
|
|
CHANGED=0
|
|
|
|
|
|
|
|
for file in $CHANGED_FILES
|
|
|
|
do
|
2022-05-01 12:07:39 +03:00
|
|
|
[ -e "$file" ] || continue
|
2022-04-30 22:53:34 +03:00
|
|
|
case "$file" in
|
2022-06-11 22:45:11 +03:00
|
|
|
src/libs/*|src/FreeRTOS/*) continue ;;
|
2022-04-30 22:53:34 +03:00
|
|
|
*.cpp|*.h)
|
|
|
|
echo Checking "$file"
|
2022-06-11 22:45:11 +03:00
|
|
|
PATCH="$(basename "$file").patch"
|
2023-01-03 17:05:30 +03:00
|
|
|
git clang-format-14 -q --style file --diff "$GITHUB_BASE_REF" "$file" > "$PATCH"
|
2022-06-11 22:45:11 +03:00
|
|
|
if [ -s "$PATCH" ]
|
2022-04-30 22:53:34 +03:00
|
|
|
then
|
|
|
|
printf "\033[31mError:\033[0m Formatting error in %s\n" "$file"
|
|
|
|
CHANGED=1
|
2022-06-11 22:45:11 +03:00
|
|
|
else
|
|
|
|
rm "$PATCH"
|
2022-04-30 22:53:34 +03:00
|
|
|
fi
|
|
|
|
esac
|
|
|
|
done
|
|
|
|
|
|
|
|
if [ $CHANGED = 1 ]
|
|
|
|
then
|
|
|
|
printf "\033[31mError:\033[0m Issues found. You may use the patches provided as artifacts to format the code."
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
|
|
|
|
exit 0
|