docs: Gitea PyPI install paths and publish automation
Some checks failed
ci / test (3.10) (push) Has been cancelled
ci / test (3.12) (push) Has been cancelled

Add make package-check/publish-gitea, tag-triggered Gitea Actions workflow,
PACKAGE_RELEASE.md, and update README/GETTING_STARTED install instructions
for the Coulomb registry (v1.1.0+).
This commit is contained in:
2026-06-16 02:17:30 +02:00
parent 68555ec2f1
commit c9a3a77fdf
6 changed files with 182 additions and 23 deletions

View File

@@ -1,11 +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-install-cli release-check release-prepare release-test release-publish 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-install-cli release-check release-prepare release-test release-publish publish-gitea 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/
# Default target
help:
@@ -43,8 +46,10 @@ help:
@echo "Release Management:"
@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 " release-test - Test publication workflow using TestPyPI"
@echo " release-publish - Publish to production PyPI"
@echo " release-publish - Publish to production PyPI (pypi.org)"
@echo " release-finalize - Post-release tasks (tags, GitHub release, documentation)"
@echo " release-rollback - Emergency rollback procedures"
@echo ""
@@ -915,8 +920,24 @@ release-prepare: release-check clean
ls -la dist/ | grep "$$VERSION" || echo " • Package files:"; ls -la dist/; \
echo ""; \
echo "💡 Next steps:"; \
echo " • Run 'make release-test' to test publication"; \
echo " • Run 'make release-publish' for production release"
echo " • Run 'make publish-gitea' for Coulomb Gitea PyPI"; \
echo " • Run 'make release-test' to test publication on TestPyPI"; \
echo " • Run 'make release-publish' for pypi.org (when configured)"
# Build and validate distributions
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
ifndef TWINE_USERNAME
$(error TWINE_USERNAME is required (e.g. export TWINE_USERNAME=<gitea-user>))
endif
ifndef TWINE_PASSWORD
$(error TWINE_PASSWORD is required (e.g. export TWINE_PASSWORD=$$GITEA_API_TOKEN))
endif
$(VENV_PYTHON) -m twine upload --repository-url "$(GITEA_PYPI_REPOSITORY_URL)" dist/*
# Test publication workflow using TestPyPI
release-test: release-prepare
@@ -1026,4 +1047,4 @@ release-rollback: $(VENV)/bin/activate
echo " • Always test with TestPyPI first"; \
echo " • Use staging/preview environments"; \
echo " • Implement automated quality gates"; \
echo " • Consider pre-release versions for testing"
echo " • Consider pre-release versions for testing"