diff options
-rw-r--r-- | .gitlab-ci.yml | 16 | ||||
-rw-r--r-- | Makefile | 33 |
2 files changed, 49 insertions, 0 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000..eeb02e0 --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,16 @@ +image: "ubuntu:focal" + +before_script: + - apt install pipenv + - pipenv --version + +variables: + LC_ALL: "C.UTF-8" + LANG: "C.UTF-8" + PIPENV_VENV_IN_PROJECT: "true" + +test_python: + script: + - make dep + - make test + - make lint diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..1eb93a5 --- /dev/null +++ b/Makefile @@ -0,0 +1,33 @@ + +SHELL = /bin/bash +.SHELLFLAGS = -o pipefail -c +TODAY ?= $(shell date --iso --utc) + +.PHONY: help +help: ## Print info about all commands + @echo "Commands:" + @echo + @grep -E '^[a-zA-Z0-9_-]+:.*?## .*$$' $(MAKEFILE_LIST) | awk 'BEGIN {FS = ":.*?## "}; {printf " \033[01;32m%-20s\033[0m %s\n", $$1, $$2}' + +.PHONY: dep +dep: ## Install dependencies using pipenv + pipenv install --dev + +.PHONY: lint +lint: ## Run lints (eg, flake8, mypy) + pipenv run flake8 grobid_tei_xml/ tests/ --exit-zero + pipenv run mypy grobid_tei_xml/ tests/ --ignore-missing-imports + +.PHONY: fmt +fmt: ## Run code formating on all source code + pipenv run isort --atomic grobid_tei_xml/* + pipenv run yapf -p -i -r grobid_tei_xml/* + pipenv run yapf -p -i -r tests + +.PHONY: test +test: ## Run all tests and lints + pipenv run python -m pytest + +.PHONY: coverage +coverage: ## Run all tests with coverage + pipenv run pytest --cov --cov-report=term --cov-report=html |