Added pre-commit hook
parent
c9700618f7
commit
5855c931ca
|
@ -0,0 +1,11 @@
|
||||||
|
#!/bin/sh
|
||||||
|
#
|
||||||
|
# This hooks runs tests and checks if the linter doesn't hate you
|
||||||
|
|
||||||
|
# Linting
|
||||||
|
printf "flake8....."
|
||||||
|
make lint > /dev/null 2>&1 && printf "OK!\n" || { printf "Fail." && exit 1; }
|
||||||
|
|
||||||
|
# Running tests
|
||||||
|
printf "pytest....."
|
||||||
|
make test > /dev/null 2>&1 && printf "OK!\n" || { printf "Fail." && exit 1; }
|
15
Makefile
15
Makefile
|
@ -10,7 +10,7 @@ DOCS=docs
|
||||||
# Interpreter to create venv with
|
# Interpreter to create venv with
|
||||||
INTERPRETER=python3.8
|
INTERPRETER=python3.8
|
||||||
|
|
||||||
all: run
|
all: build-venv
|
||||||
|
|
||||||
|
|
||||||
# =====VENV=====
|
# =====VENV=====
|
||||||
|
@ -38,10 +38,13 @@ clean-cache:
|
||||||
@ echo "Removing caches..."
|
@ echo "Removing caches..."
|
||||||
@ find . -type d \( -name "__pycache__" -o -name ".pytest_cache" \) -exec rm -r "{}" +
|
@ find . -type d \( -name "__pycache__" -o -name ".pytest_cache" \) -exec rm -r "{}" +
|
||||||
|
|
||||||
|
# Removed generation documentation
|
||||||
clean-docs:
|
clean-docs:
|
||||||
@ echo "Removing documentation build..."
|
@ echo "Removing documentation build..."
|
||||||
@ [ ! -e "$(DOCS)/build" ] || rm -r "$(DOCS)/build"
|
@ [ ! -e "$(DOCS)/build" ] || rm -r "$(DOCS)/build"
|
||||||
|
@ [ ! -e "$(DOCS)/source/apidoc" ] || rm -r "$(DOCS)/source/apidoc"
|
||||||
|
|
||||||
|
# Remove build leftovers (not dist)
|
||||||
clean-setup:
|
clean-setup:
|
||||||
@ echo 'Removing build artifacts...'
|
@ echo 'Removing build artifacts...'
|
||||||
@ [ ! -e "build" ] || rm -rf build
|
@ [ ! -e "build" ] || rm -rf build
|
||||||
|
@ -49,14 +52,22 @@ clean-setup:
|
||||||
|
|
||||||
|
|
||||||
# =====DOCS=====
|
# =====DOCS=====
|
||||||
|
# # Generate documentation
|
||||||
docs: docs/source/conf.py docs/source/index.rst build-venv
|
docs: docs/source/conf.py docs/source/index.rst build-venv
|
||||||
@ "$(VENV)/bin/sphinx-apidoc" -f -o "$(DOCS)/source/apidoc" "$(SRC)"
|
@ "$(VENV)/bin/sphinx-apidoc" -f -o "$(DOCS)/source/apidoc" "$(SRC)"
|
||||||
@ "$(VENV)/bin/sphinx-build" "$(DOCS)/source" "$(DOCS)/build"
|
@ "$(VENV)/bin/sphinx-build" "$(DOCS)/source" "$(DOCS)/build"
|
||||||
|
|
||||||
|
|
||||||
# =====TESTS=====
|
# =====TESTS=====
|
||||||
|
# Run tests
|
||||||
test: pytest.ini build-venv
|
test: pytest.ini build-venv
|
||||||
@ "$(VENV)/bin/pytest" --color=yes
|
@ "$(VENV)/bin/pytest" --color=auto
|
||||||
|
|
||||||
|
|
||||||
|
# =====LINTING=====
|
||||||
|
# Run flake8
|
||||||
|
lint: build-venv
|
||||||
|
@ "$(VENV)/bin/flake8" "$(SRC)"/**/*.py
|
||||||
|
|
||||||
|
|
||||||
# =====PACKAGING=====
|
# =====PACKAGING=====
|
||||||
|
|
Reference in New Issue