git-hooks: add pre-commit hook for fmt and testing checks.
This commit is contained in:
parent
339ce84903
commit
e59029a94a
8
git-hooks/README.md
Normal file
8
git-hooks/README.md
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
# Installing
|
||||||
|
Symlink the files in this directory into your `.git/hooks/` directory to
|
||||||
|
enable policies for this project. Example:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
$ cd .git/hooks
|
||||||
|
$ ln -s ../../git-hooks/pre-commit .
|
||||||
|
```
|
||||||
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
|
||||||
Loading…
x
Reference in New Issue
Block a user