You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
76 lines
1.7 KiB
76 lines
1.7 KiB
ROLES := $(wildcard roles/*/.)
|
|
PIPENV := pipenv run
|
|
BLACKARGS ?= --line-length 128 --check --diff
|
|
|
|
.PHONY: help update
|
|
|
|
help:
|
|
@echo "Make targets:\n"
|
|
@$(MAKE) -pRrq -f $(lastword $(MAKEFILE_LIST)) : 2>/dev/null | awk -v RS= -F: '/^# File/,/^# Finished Make data base/ {if ($$1 !~ "^[#.]") {print $$1}}' | sort | egrep -v -e '^[^[:alnum:]]' -e '^$@$$'
|
|
|
|
update:
|
|
cruft update
|
|
|
|
################################################################################
|
|
#
|
|
# Environment Setup
|
|
#
|
|
################################################################################
|
|
.PHONY: setup setup-dev
|
|
|
|
Pipfile.lock: Pipfile
|
|
pipenv lock
|
|
|
|
requirements.txt: Pipfile.lock
|
|
pipenv lock -r > $@
|
|
|
|
setup.done: Pipfile.lock
|
|
pipenv sync
|
|
touch setup.done
|
|
|
|
setup-dev.done: Pipfile.lock
|
|
pipenv sync --dev
|
|
touch setup-dev.done
|
|
|
|
setup: setup.done
|
|
setup-dev: setup-dev.done
|
|
|
|
################################################################################
|
|
#
|
|
# Release management
|
|
#
|
|
################################################################################
|
|
.PHONY: release release-major release-micro
|
|
|
|
release: setup-dev.done
|
|
$(PIPENV) bumpversion --verbose minor
|
|
|
|
release-major: setup-dev.done
|
|
$(PIPENV) bumpversion --verbose major
|
|
|
|
release-micro: setup-dev.done
|
|
$(PIPENV) bumpversion --verbose patch
|
|
|
|
################################################################################
|
|
#
|
|
# Custom targets
|
|
#
|
|
################################################################################
|
|
.PHONY: build clean lint push test $(ROLES)
|
|
|
|
lint: setup-dev.done
|
|
$(PIPENV) ansible-lint roles
|
|
$(PIPENV) black ${BLACKARGS} .
|
|
$(PIPENV) yamllint .
|
|
|
|
push:
|
|
git push -v --progress
|
|
git push -v --progress --tags
|
|
|
|
clean:
|
|
rm -rvf tmp
|
|
|
|
test: $(ROLES)
|
|
|
|
$(ROLES):
|
|
$(MAKE) -C $@ test
|