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 " lint - Run code linting"
|
||||||
@echo " format - Format code"
|
@echo " format - Format code"
|
||||||
@echo ""
|
@echo ""
|
||||||
@echo "Release Management:"
|
@echo "Release Management (setuptools-scm):"
|
||||||
@echo " release-status - Show current release status"
|
@echo " release-status - Show current release status"
|
||||||
@echo " release-validate - Validate repository for release"
|
@echo " release-validate - Validate repository for release"
|
||||||
@echo " release-prepare VERSION=x.y.z - Prepare new release"
|
@echo " release-build - Build release packages (version auto-detected)"
|
||||||
@echo " release-build - Build release packages"
|
@echo " release-tag VERSION=x.y.z - Create release git tag"
|
||||||
@echo " release-publish VERSION=x.y.z - Publish complete release"
|
@echo " release-publish VERSION=x.y.z - Complete release workflow (tag + build)"
|
||||||
@echo " release-dry-run VERSION=x.y.z - Test release preparation"
|
@echo " release-dry-run VERSION=x.y.z - Test release workflow"
|
||||||
@echo ""
|
@echo ""
|
||||||
@echo "Chaos Engineering:"
|
@echo "Chaos Engineering:"
|
||||||
@echo " chaos-validate - Run architectural independence validation"
|
@echo " chaos-validate - Run architectural independence validation"
|
||||||
@@ -482,42 +482,45 @@ build: $(VENV)/bin/activate
|
|||||||
$(VENV_PYTHON) -m build 2>/dev/null || \
|
$(VENV_PYTHON) -m build 2>/dev/null || \
|
||||||
$(VENV_PIP) install build && $(VENV_PYTHON) -m build
|
$(VENV_PIP) install build && $(VENV_PYTHON) -m build
|
||||||
|
|
||||||
# Release management
|
# Release management (setuptools-scm)
|
||||||
release-status:
|
release-status:
|
||||||
@echo "🔍 Checking release status..."
|
@echo "🔍 Checking release status (setuptools-scm)..."
|
||||||
$(VENV_PYTHON) release.py status
|
$(VENV_PYTHON) release.py status
|
||||||
|
|
||||||
release-validate:
|
release-validate:
|
||||||
@echo "✅ Validating release readiness..."
|
@echo "✅ Validating release readiness..."
|
||||||
$(VENV_PYTHON) release.py validate
|
$(VENV_PYTHON) release.py validate
|
||||||
|
|
||||||
release-prepare:
|
release-build:
|
||||||
@echo "🚀 Preparing release..."
|
@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 \
|
@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; \
|
exit 1; \
|
||||||
fi
|
fi
|
||||||
$(VENV_PYTHON) release.py prepare --version $(VERSION)
|
$(VENV_PYTHON) release.py tag --version $(VERSION)
|
||||||
|
|
||||||
release-build:
|
|
||||||
@echo "📦 Building release packages..."
|
|
||||||
$(VENV_PYTHON) release.py build $(if $(VERSION),--version $(VERSION))
|
|
||||||
|
|
||||||
release-publish:
|
release-publish:
|
||||||
@echo "📢 Publishing release..."
|
@echo "📢 Publishing complete release (setuptools-scm workflow)..."
|
||||||
@if [ -z "$(VERSION)" ]; then \
|
@if [ -z "$(VERSION)" ]; then \
|
||||||
echo "❌ Usage: make release-publish VERSION=1.0.0"; \
|
echo "❌ Usage: make release-publish VERSION=1.0.0"; \
|
||||||
|
echo "ℹ️ This creates git tag + builds packages automatically"; \
|
||||||
exit 1; \
|
exit 1; \
|
||||||
fi
|
fi
|
||||||
$(VENV_PYTHON) release.py publish --version $(VERSION)
|
$(VENV_PYTHON) release.py publish --version $(VERSION)
|
||||||
|
|
||||||
release-dry-run:
|
release-dry-run:
|
||||||
@echo "🧪 Dry run release preparation..."
|
@echo "🧪 Dry run release workflow..."
|
||||||
@if [ -z "$(VERSION)" ]; then \
|
@if [ -z "$(VERSION)" ]; then \
|
||||||
echo "❌ Usage: make release-dry-run VERSION=1.0.0"; \
|
echo "❌ Usage: make release-dry-run VERSION=1.0.0"; \
|
||||||
|
echo "ℹ️ This tests the tag + build workflow without making changes"; \
|
||||||
exit 1; \
|
exit 1; \
|
||||||
fi
|
fi
|
||||||
$(VENV_PYTHON) release.py prepare --version $(VERSION) --dry-run
|
$(VENV_PYTHON) release.py publish --version $(VERSION) --dry-run
|
||||||
|
|
||||||
# Chaos Engineering targets
|
# Chaos Engineering targets
|
||||||
chaos-validate:
|
chaos-validate:
|
||||||
|
|||||||
Reference in New Issue
Block a user