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:
39
Makefile
39
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:
|
||||
|
||||
Reference in New Issue
Block a user