Add formatting test workflow
This commit is contained in:
parent
dedb397ae0
commit
015f17cd25
2 changed files with 71 additions and 0 deletions
37
tests/test-format.sh
Executable file
37
tests/test-format.sh
Executable file
|
|
@ -0,0 +1,37 @@
|
|||
#!/bin/sh
|
||||
|
||||
set -e
|
||||
|
||||
[ -z "$1" ] && exit
|
||||
|
||||
basebranch=$1
|
||||
|
||||
CHANGED_FILES=$(git diff --name-only "$basebranch"...HEAD)
|
||||
|
||||
CHANGED=0
|
||||
|
||||
for file in $CHANGED_FILES
|
||||
do
|
||||
case "$file" in
|
||||
*.cpp|*.h)
|
||||
echo Checking "$file"
|
||||
clang-format -i "$file"
|
||||
if ! git diff --quiet "$basebranch"...HEAD
|
||||
then
|
||||
printf "\033[31mError:\033[0m Formatting error in %s\n" "$file"
|
||||
CHANGED=1
|
||||
git add "$file"
|
||||
git commit -q -m "Apply clang-format to $(basename "$file")"
|
||||
printf "Creating patch "
|
||||
git format-patch HEAD~
|
||||
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
|
||||
Loading…
Add table
Add a link
Reference in a new issue