Migrate kaizen distribution to Forgejo
This commit is contained in:
parent
f027ee5492
commit
d4a4560a8d
34 changed files with 324 additions and 195 deletions
34
Makefile
34
Makefile
|
|
@ -1,14 +1,14 @@
|
|||
# Makefile for Kaizen Agentic development tasks
|
||||
|
||||
.PHONY: help setup-complete setup-structure setup-python setup-tools setup-docs setup-tests setup-verify ensure-project-structure install-dev install-local install-global standards-check standards-fix standards-test test test-all build clean lint format venv-status agents-list agents-update agents-validate agents-status agents-sync-package agents-install-cli release-check release-prepare release-test release-publish publish-gitea package-check release-finalize release-rollback
|
||||
.PHONY: help setup-complete setup-structure setup-python setup-tools setup-docs setup-tests setup-verify ensure-project-structure install-dev install-local install-global standards-check standards-fix standards-test test test-all build clean lint format venv-status agents-list agents-update agents-validate agents-status agents-sync-package agents-install-cli release-check release-prepare release-test release-publish publish-forgejo package-check release-finalize release-rollback
|
||||
|
||||
# Variables
|
||||
VENV = .venv
|
||||
VENV_PYTHON = $(VENV)/bin/python
|
||||
VENV_PIP = $(VENV)/bin/pip
|
||||
GITEA_PACKAGE_OWNER ?= coulomb
|
||||
GITEA_PYPI_REPOSITORY_URL ?= https://gitea.coulomb.social/api/packages/$(GITEA_PACKAGE_OWNER)/pypi
|
||||
GITEA_PYPI_SIMPLE_URL ?= https://gitea.coulomb.social/api/packages/$(GITEA_PACKAGE_OWNER)/pypi/simple/
|
||||
FORGEJO_PACKAGE_OWNER ?= coulomb
|
||||
FORGEJO_PYPI_REPOSITORY_URL ?= https://forgejo.coulomb.social/api/packages/$(FORGEJO_PACKAGE_OWNER)/pypi
|
||||
FORGEJO_PYPI_SIMPLE_URL ?= https://forgejo.coulomb.social/api/packages/$(FORGEJO_PACKAGE_OWNER)/pypi/simple/
|
||||
|
||||
# Default target
|
||||
help:
|
||||
|
|
@ -48,10 +48,10 @@ help:
|
|||
@echo " release-check - Validate release readiness (tests, linting, version consistency)"
|
||||
@echo " release-prepare - Prepare release (update versions, build packages)"
|
||||
@echo " package-check - Build and validate wheel/sdist with twine"
|
||||
@echo " publish-gitea - Publish dist/* to Coulomb Gitea PyPI registry"
|
||||
@echo " publish-forgejo - Publish dist/* to the Forgejo PyPI registry"
|
||||
@echo " release-test - Test publication workflow using TestPyPI"
|
||||
@echo " release-publish - Publish to production PyPI (pypi.org)"
|
||||
@echo " release-finalize - Post-release tasks (tags, GitHub release, documentation)"
|
||||
@echo " release-finalize - Post-release tasks (tags, Forgejo release, documentation)"
|
||||
@echo " release-rollback - Emergency rollback procedures"
|
||||
@echo ""
|
||||
@echo "Development:"
|
||||
|
|
@ -970,7 +970,7 @@ release-prepare: release-check clean
|
|||
ls -la dist/ | grep "$$VERSION" || echo " • Package files:"; ls -la dist/; \
|
||||
echo ""; \
|
||||
echo "💡 Next steps:"; \
|
||||
echo " • Run 'make publish-gitea' for Coulomb Gitea PyPI"; \
|
||||
echo " • Run 'make publish-forgejo' for Forgejo PyPI"; \
|
||||
echo " • Run 'make release-test' to test publication on TestPyPI"; \
|
||||
echo " • Run 'make release-publish' for pypi.org (when configured)"
|
||||
|
||||
|
|
@ -979,15 +979,15 @@ package-check: release-prepare
|
|||
$(VENV_PYTHON) -c "import twine" 2>/dev/null || $(VENV_PIP) install twine
|
||||
$(VENV_PYTHON) -m twine check dist/*
|
||||
|
||||
# Publish to Coulomb Gitea PyPI registry
|
||||
publish-gitea: package-check
|
||||
# Publish to the Forgejo PyPI registry
|
||||
publish-forgejo: package-check
|
||||
ifndef TWINE_USERNAME
|
||||
$(error TWINE_USERNAME is required (e.g. export TWINE_USERNAME=<gitea-user>))
|
||||
$(error TWINE_USERNAME is required (e.g. export TWINE_USERNAME=<forgejo-user>))
|
||||
endif
|
||||
ifndef TWINE_PASSWORD
|
||||
$(error TWINE_PASSWORD is required (e.g. export TWINE_PASSWORD=$$GITEA_API_TOKEN))
|
||||
$(error TWINE_PASSWORD is required (e.g. export TWINE_PASSWORD=$$FORGEJO_PYPI_TOKEN))
|
||||
endif
|
||||
$(VENV_PYTHON) -m twine upload --repository-url "$(GITEA_PYPI_REPOSITORY_URL)" dist/*
|
||||
$(VENV_PYTHON) -m twine upload --repository-url "$(FORGEJO_PYPI_REPOSITORY_URL)" dist/*
|
||||
|
||||
# Test publication workflow using TestPyPI
|
||||
release-test: release-prepare
|
||||
|
|
@ -1034,7 +1034,7 @@ release-publish: release-check
|
|||
echo " • Generate API token"; \
|
||||
echo " • Store in ~/.pypirc or use keyring"
|
||||
|
||||
# Post-release tasks (tags, GitHub release, documentation)
|
||||
# Post-release tasks (tags, Forgejo release, documentation)
|
||||
release-finalize: $(VENV)/bin/activate
|
||||
@echo "🏁 Finalizing release..."
|
||||
@echo ""
|
||||
|
|
@ -1050,16 +1050,16 @@ release-finalize: $(VENV)/bin/activate
|
|||
echo " ✅ Tag created"; \
|
||||
fi; \
|
||||
echo ""; \
|
||||
echo " • GitHub Release:"; \
|
||||
echo " • Forgejo Release:"; \
|
||||
echo " 💡 Manual steps required:"; \
|
||||
echo " 1. Push tags: git push origin v$$VERSION"; \
|
||||
echo " 2. Create GitHub release at:"; \
|
||||
echo " https://github.com/kaizen-agentic/kaizen-agentic/releases/new"; \
|
||||
echo " 2. Create Forgejo release at:"; \
|
||||
echo " https://forgejo.coulomb.social/coulomb/kaizen-agentic/releases/new"; \
|
||||
echo " 3. Upload dist/ files as release assets"; \
|
||||
echo ""; \
|
||||
echo " • Documentation:"; \
|
||||
echo " 💡 Verify installation instructions work:"; \
|
||||
echo " pip install kaizen-agentic==$$VERSION --extra-index-url <gitea-pypi-simple>"; \
|
||||
echo " pip install kaizen-agentic==$$VERSION --extra-index-url $(FORGEJO_PYPI_SIMPLE_URL)"; \
|
||||
echo " See docs/PACKAGE_RELEASE.md"; \
|
||||
echo ""; \
|
||||
echo "✅ Release finalization checklist provided"; \
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue