VERSION := $(shell yq -r '.version' galaxy.yml)
NS := $(shell yq -r '.namespace' galaxy.yml)
NAME := $(shell yq -r '.name' galaxy.yml)
ARCHIVE := $(NS)-$(NAME)-$(VERSION).tar.gz

.PHONY: build install publish clean tag

build:
	rm -f $(NS)-$(NAME)-*.tar.gz
	ansible-galaxy collection build
	@echo "Created $(ARCHIVE)"

tag:
	git tag -f v$(VERSION) -m "v$(VERSION)"
	git push origin v$(VERSION) --force

install: build
	ansible-galaxy collection install $(ARCHIVE) --force

publish: build tag
	@ansible-galaxy collection publish $(ARCHIVE) --token "$$(cat ~/.ansible/galaxy/token 2>/dev/null || echo $(GALAXY_TOKEN))"

clean:
	rm -f $(NS)-$(NAME)-*.tar.gz
