diff --git a/.githooks/pre-commit b/.githooks/pre-commit new file mode 100755 index 0000000..67afa1e --- /dev/null +++ b/.githooks/pre-commit @@ -0,0 +1,5 @@ +#!/bin/bash + +docker run --rm -v "$PWD:$PWD:z" -w "$PWD" python:3.9-bullseye sh -c './lint-docker.sh' + +exit $? diff --git a/git-hook-install.sh b/git-hook-install.sh new file mode 100755 index 0000000..c94dbb3 --- /dev/null +++ b/git-hook-install.sh @@ -0,0 +1,4 @@ +#!/bin/sh + +# Install pre-configured git hooks +git config --local core.hooksPath .githooks/ diff --git a/lint-docker.sh b/lint-docker.sh new file mode 100755 index 0000000..f9b3d00 --- /dev/null +++ b/lint-docker.sh @@ -0,0 +1,18 @@ +#!/bin/bash + +. venv/bin/activate + +echo -e "\nLinting Python files with Flake8:\n" + +flake8 +PASS=$? + +echo -e "\nPython linting complete!\n" + +if [ "$PASS" -eq 0 ]; then + echo -e "\033[42mCOMMIT SUCCEEDED\033[0m\n" + exit $? +else + echo -e "\033[41mCOMMIT FAILED:\033[0m Your commit contains files that should pass flake8 but do not. Please fix the flake8 errors and try again.\n" + exit 1 +fi