# infra-containers Makefile

# SPDX-FileCopyrightText: © 2020 Open Networking Foundation <support@opennetworking.org>
# SPDX-License-Identifier: Apache-2.0

SHELL = bash -eu -o pipefail

BASE_TAG := onfinfra/

# print help by default
.DEFAULT_GOAL := help

# phony (doesn't make files) targets
.PHONY: test docker-build docker-push

docker-build:
	docker build -t $(BASE_TAG)molecule-systemd:debian-11 molecule-systemd/debian-11

docker-push:
	docker push $(BASE_TAG)molecule-systemd:debian-11

lint: ## run linters (hadolint) on Dockerfiles
	hadolint --version
	hadolint */*/Dockerfile

test: lint  ## run tests (only lint for now)

license: ## check licenses
	reuse --version ;\
  reuse --root . lint

help: ## Print help for each target
	@echo infra-containers make targets
	@echo
	@grep '^[[:alnum:]_-]*:.* ## ' $(MAKEFILE_LIST) \
    | sort | awk 'BEGIN {FS=":.* ## "}; {printf "%-25s %s\n", $$1, $$2};'
