blob: 9ce7e2e0f642cc8ce49eb0cf52aee8dec1f8a49a [file] [log] [blame]
Zack Williams9fc21d72020-11-22 22:36:54 -07001# dhcpd Makefile
2#
3# SPDX-FileCopyrightText: © 2020 Open Networking Foundation <support@opennetworking.org>
4# SPDX-License-Identifier: Apache-2.0
5
6SHELL = bash -eu -o pipefail
7
8.DEFAULT_GOAL := help
9.PHONY: test lint yamllint ansiblelint license help
10
Zack Williams98725e22021-03-18 10:21:26 -070011test: filter_test ## run tests on the playbook with molecule
Zack Williams9fc21d72020-11-22 22:36:54 -070012 molecule --version
13 molecule test
14
Zack Williams98725e22021-03-18 10:21:26 -070015filter_test: ## test filter plugins
16 python filter_plugins/rfc3442_words.py
17
Zack Williams9fc21d72020-11-22 22:36:54 -070018lint: yamllint ansiblelint ## run all lint checks
19
20# all YAML files
21YAML_FILES ?= $(shell find . -type f \( -name '*.yaml' -o -name '*.yml' \) -print )
22
23yamllint: ## lint check with yamllint
24 yamllint --version
25 yamllint \
26 -d "{extends: default, rules: {line-length: {max: 99}}}" \
27 -s $(YAML_FILES)
28
29ansiblelint: ## lint check with ansible-lint
30 ansible-lint --version
31 ansible-lint -v .
32 ansible-lint -v molecule/*/*
33
34license: ## Check license with the reuse tool
35 reuse --version
36 reuse --root . lint
37
38help: ## Print help for each target
39 @echo dhcpd test targets
40 @echo
41 @grep '^[[:alnum:]_-]*:.* ##' $(MAKEFILE_LIST) \
42 | sort | awk 'BEGIN {FS=":.* ## "}; {printf "%-25s %s\n", $$1, $$2};'