.PHONY: clean virtualenv lint test docker dist dist-upload

clean:
	find . -name '*.py[co]' -delete

virtualenv:
	virtualenv --prompt '|> ansible-role-common <| ' .venv
	.venv/bin/pip install --upgrade pip
	.venv/bin/pip install -r requirements.txt
	.venv/bin/ansible-galaxy collection install -r requirements.yml
	@echo
	@echo "VirtualENV Setup Complete. Now run: source .venv/bin/activate"
	@echo

test:
	for distro in centos7 almalinux8 ; do \
		MOLECULE_DISTRO=$$distro molecule test --all ; \
	done

lint:
	@echo "Linting with Ansible-lint"
	@echo
	ansible-lint -c ".ansible-lint" --exclude ".venv"
	@echo
	@echo "Linting with Yamllint"
	@echo
	yamllint .
	@echo


docker: clean
	docker buildx build --platform 'linux/amd64,linux/arm64' --push \
	-t hub.cybercinch.nz/cybercinch/imap_retention_manager:latest \
	-t docker.io/cybercinch/imap_retention_manager:latest .

dist: clean
	rm -rf dist/*
	python setup.py sdist
	python setup.py bdist_wheel

dist-upload:
	twine upload dist/*
