
# Pinned go-swagger version for `make install-swagger` / `make regen`.
# Bump deliberately, verify `swagger version` matches, and record the change
# here and in README.md's Release Procedure. Chosen 2026-07-12: latest
# stable go-swagger release at the time (ADR-KV-014).
SWAGGER_VERSION := v0.35.0
export SWAGGER_VERSION

.PHONY: install-swagger regen release release-dry-run swagger

# Install the pinned go-swagger CLI and verify its version.
install-swagger:
	./scripts/release.sh install-swagger

# Regenerate api/ clients from the sibling service specs (../{auth,crm,stash,
# sf-gate,research,members,plex}/swagger/*.yaml). Requires the sibling repos
# to be cloned adjacently (same prerequisite the old README ritual had).
# Review and commit the result as its own PR before `make release`.
regen: install-swagger
	./scripts/release.sh regen

# Cut a release: tag HEAD of main, push the tag, publish the GitHub release,
# and trigger the Gitea mirror-sync. Requires a clean main checkout that
# matches origin/main. Usage: make release VERSION=v0.7.5
release:
	./scripts/release.sh release "$(VERSION)"

# Same as `release` but stops before tag/push/release/mirror-sync — prints
# what would happen. Usage: make release-dry-run VERSION=v0.7.5
release-dry-run:
	./scripts/release.sh release "$(VERSION)" --dry-run

# Deprecated alias for `regen`, kept because old muscle memory (and the
# README ritual) called this `make swagger`.
swagger: regen
