COLLECTION_DIR := ansible_collections/evgnomon/catamaran
VERSION ?= $(shell awk '/^VERSION[[:space:]]*:=/ {print $$3}' ../../Makefile)
COLLECTION_ARTIFACT := $(COLLECTION_DIR)/evgnomon-catamaran-$(VERSION).tar.gz

.PHONY: all check set-version build build-python build-collection publish publish-pypi publish-galaxy clean

all: build

check:
	uv run poe check

set-version:
	sed -i 's/^version = ".*"/version = "$(VERSION)"/' pyproject.toml
	sed -i 's/^version: .*/version: $(VERSION)/' $(COLLECTION_DIR)/galaxy.yml

build: build-python build-collection

build-python: set-version
	uv build

build-collection: set-version
	cd $(COLLECTION_DIR) && ansible-galaxy collection build --force

publish: publish-pypi publish-galaxy

publish-pypi: clean build-python
	@UV_PUBLISH_TOKEN=`getsecret | jq -r '.pypi.all'` uv publish

publish-galaxy: build-collection
	@ansible-galaxy collection publish $(COLLECTION_ARTIFACT) --token `getsecret | jq -r '.ansible_galaxy.token'`

clean:
	rm -rf dist $(COLLECTION_DIR)/*.tar.gz
