git-hooks: add pre-commit hook for fmt and testing checks.
This commit is contained in:
26
git-hooks/pre-commit
Executable file
26
git-hooks/pre-commit
Executable file
@@ -0,0 +1,26 @@
|
||||
#!/usr/bin/env bash
|
||||
set -e -x
|
||||
pushd () {
|
||||
command pushd "$@" > /dev/null
|
||||
}
|
||||
|
||||
popd () {
|
||||
command popd "$@" > /dev/null
|
||||
}
|
||||
|
||||
for workspace in rtchallenge rtiow; do
|
||||
pushd ${workspace:?}
|
||||
cargo fmt -- --check || (echo "To fix, run: cd ${workspace:?} && cargo fmt" && false)
|
||||
popd
|
||||
done
|
||||
|
||||
RT=rtchallenge
|
||||
AFFECTED="$(git diff-index --cached --name-only HEAD)"
|
||||
#echo "AFFECTED $AFFECTED"
|
||||
RT_AFFECTED=$(echo "${AFFECTED:?}" | grep ${RT:?} || true)
|
||||
if [ ! -z "$RT_AFFECTED" ]; then
|
||||
echo "Files for the rt challenge were touched, running tests"
|
||||
cd ${RT:?} && cargo build --examples && cargo test
|
||||
fi
|
||||
# Uncomment to debug presubmit.
|
||||
#exit 1
|
||||
Reference in New Issue
Block a user