mirror of
https://github.com/cmur2/kube-stale-resources.git
synced 2024-11-14 18:56:15 +01:00
44 lines
1.4 KiB
Makefile
44 lines
1.4 KiB
Makefile
|
|
# https://tech.davis-hansson.com/p/make/
|
|
SHELL := bash
|
|
.ONESHELL:
|
|
.SILENT:
|
|
.SHELLFLAGS := -eux -o pipefail -c
|
|
.DELETE_ON_ERROR:
|
|
.DEFAULT_GOAL := all
|
|
MAKEFLAGS += --warn-undefined-variables
|
|
MAKEFLAGS += --no-builtin-rules
|
|
|
|
.PHONY: all
|
|
all: lint ## Run lint and test (default goal)
|
|
|
|
.PHONY: lint
|
|
lint: ## Lint all source code
|
|
poetry run yapf -q *.py
|
|
poetry run pylint *.py
|
|
poetry run mypy *.py
|
|
|
|
.PHONY: e2e-with-kind
|
|
e2e-with-kind: ## Run E2E tests against running kind (K8s in Docker) instance
|
|
function cleanup {
|
|
(kubectl delete namespace e2e || true)
|
|
}
|
|
trap cleanup EXIT
|
|
|
|
# no resources and empty cluster should have no stale resources
|
|
poetry run python kube-stale-resources.py --blacklist e2e/blacklist-kind-empty.txt -f e2e/resources-kind-empty.yml
|
|
|
|
# some resources in VCS and empty cluster should have no stale resources
|
|
kubectl apply -f e2e/resources-kind-one.yml
|
|
poetry run python kube-stale-resources.py --blacklist e2e/blacklist-kind-empty.txt -f e2e/resources-kind-one.yml
|
|
cleanup
|
|
|
|
# some resources NOT in VCS and empty cluster should have stale resources
|
|
kubectl apply -f e2e/resources-kind-one.yml
|
|
(poetry run python kube-stale-resources.py --blacklist e2e/blacklist-kind-empty.txt -f e2e/resources-kind-empty.yml && exit 1 || exit 0)
|
|
cleanup
|
|
|
|
.PHONY: help
|
|
help: ## Print this help text
|
|
@grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-15s\033[0m %s\n", $$1, $$2}'
|