From ab6799732440909d6285b39adbe312c8f6b36d7f Mon Sep 17 00:00:00 2001 From: tegwick Date: Sat, 8 Nov 2025 20:28:41 +0100 Subject: [PATCH] Update Makefile release targets for setuptools-scm MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Update help text to mention setuptools-scm versioning - Replace release-prepare with release-tag (git tag creation) - Simplify release-build (no version parameter needed) - Update release-publish for tag+build workflow - Add informative help messages for new workflow ๐Ÿš€ Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude --- Makefile | 39 +++++++++++++++++++++------------------ 1 file changed, 21 insertions(+), 18 deletions(-) diff --git a/Makefile b/Makefile index 449bc768..93e1dea7 100644 --- a/Makefile +++ b/Makefile @@ -35,13 +35,13 @@ help: @echo " lint - Run code linting" @echo " format - Format code" @echo "" - @echo "Release Management:" + @echo "Release Management (setuptools-scm):" @echo " release-status - Show current release status" @echo " release-validate - Validate repository for release" - @echo " release-prepare VERSION=x.y.z - Prepare new release" - @echo " release-build - Build release packages" - @echo " release-publish VERSION=x.y.z - Publish complete release" - @echo " release-dry-run VERSION=x.y.z - Test release preparation" + @echo " release-build - Build release packages (version auto-detected)" + @echo " release-tag VERSION=x.y.z - Create release git tag" + @echo " release-publish VERSION=x.y.z - Complete release workflow (tag + build)" + @echo " release-dry-run VERSION=x.y.z - Test release workflow" @echo "" @echo "Chaos Engineering:" @echo " chaos-validate - Run architectural independence validation" @@ -482,42 +482,45 @@ build: $(VENV)/bin/activate $(VENV_PYTHON) -m build 2>/dev/null || \ $(VENV_PIP) install build && $(VENV_PYTHON) -m build -# Release management +# Release management (setuptools-scm) release-status: - @echo "๐Ÿ” Checking release status..." + @echo "๐Ÿ” Checking release status (setuptools-scm)..." $(VENV_PYTHON) release.py status release-validate: @echo "โœ… Validating release readiness..." $(VENV_PYTHON) release.py validate -release-prepare: - @echo "๐Ÿš€ Preparing release..." +release-build: + @echo "๐Ÿ“ฆ Building release packages (version auto-detected by setuptools-scm)..." + $(VENV_PYTHON) release.py build + +release-tag: + @echo "๐Ÿท๏ธ Creating release git tag..." @if [ -z "$(VERSION)" ]; then \ - echo "โŒ Usage: make release-prepare VERSION=1.0.0"; \ + echo "โŒ Usage: make release-tag VERSION=1.0.0"; \ + echo "โ„น๏ธ This creates a git tag that setuptools-scm will use for versioning"; \ exit 1; \ fi - $(VENV_PYTHON) release.py prepare --version $(VERSION) - -release-build: - @echo "๐Ÿ“ฆ Building release packages..." - $(VENV_PYTHON) release.py build $(if $(VERSION),--version $(VERSION)) + $(VENV_PYTHON) release.py tag --version $(VERSION) release-publish: - @echo "๐Ÿ“ข Publishing release..." + @echo "๐Ÿ“ข Publishing complete release (setuptools-scm workflow)..." @if [ -z "$(VERSION)" ]; then \ echo "โŒ Usage: make release-publish VERSION=1.0.0"; \ + echo "โ„น๏ธ This creates git tag + builds packages automatically"; \ exit 1; \ fi $(VENV_PYTHON) release.py publish --version $(VERSION) release-dry-run: - @echo "๐Ÿงช Dry run release preparation..." + @echo "๐Ÿงช Dry run release workflow..." @if [ -z "$(VERSION)" ]; then \ echo "โŒ Usage: make release-dry-run VERSION=1.0.0"; \ + echo "โ„น๏ธ This tests the tag + build workflow without making changes"; \ exit 1; \ fi - $(VENV_PYTHON) release.py prepare --version $(VERSION) --dry-run + $(VENV_PYTHON) release.py publish --version $(VERSION) --dry-run # Chaos Engineering targets chaos-validate: