From df4d0171c3f0785c31f90a486787e3a19d797f00 Mon Sep 17 00:00:00 2001 From: Bryan Newbold Date: Thu, 21 Oct 2021 14:03:38 -0700 Subject: basic makefile and gitlab-ci file --- .gitlab-ci.yml | 16 ++++++++++++++++ Makefile | 33 +++++++++++++++++++++++++++++++++ 2 files changed, 49 insertions(+) create mode 100644 .gitlab-ci.yml create mode 100644 Makefile 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 -- cgit v1.2.3