Update Makefile release targets for setuptools-scm

- 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 <noreply@anthropic.com>
This commit is contained in:
2025-11-08 20:28:41 +01:00
parent 3298b0d911
commit ab67997324

View File

@@ -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: