gamemode/scripts/format-check.sh
Stephan Lachnit ab06ba419e Switch to GitHub Actions
Signed-off-by: Stephan Lachnit <stephanlachnit@debian.org>
2022-02-03 16:40:02 +00:00

37 lines
945 B
Bash
Executable File

#!/bin/bash
# Simple script to check for clang-format compliance
# Ensure we are at the project root
cd "$(dirname $0)"/..
if [[ "$1" == "--pre-commit" ]]; then
# used via .git/hooks/pre-commit:
# exec "$(dirname $0)"/../../scripts/format-check.sh --pre-commit
git-clang-format
exit
fi
if [[ "$CI" == "true" ]]; then
# used in ci, assumes clean repo
clang-format -i $(find . -name '*.[ch]' -not -path "*subprojects/*")
GIT_DIFF_OUTPUT=$(git diff)
if [[ ! -z ${GIT_DIFF_OUTPUT} ]]; then
echo "Failed clang format check:"
echo "${GIT_DIFF_OUTPUT}"
exit 1
else
echo "Passed clang format check"
exit 0
fi
fi
CLANG_FORMAT_OUTPUT=$(git-clang-format HEAD^ HEAD --diff)
if [[ ! ${CLANG_FORMAT_OUTPUT} == "no modified files to format" ]] && [[ ! -z ${CLANG_FORMAT_OUTPUT} ]]; then
echo "Failed clang format check:"
echo "${CLANG_FORMAT_OUTPUT}"
exit 1
else
echo "Passed clang format check"
exit 0
fi