1.7 KiB
Gitea Package Registry
This is the canonical Railiance operating note for the current Gitea Python
package registry. Compatibility pointers remain in railiance-apps while
deploy-capable Gitea Helm and manifest files still live there.
Gitea package support is enabled by
/home/worsch/railiance-apps/helm/gitea-registry-values.yaml. That overlay is
applied after the encrypted base values by make gitea-deploy and enables both
container packages and Python packages.
Python Packages
Publish Python wheels to the organization package endpoint:
python -m build
TWINE_USERNAME=<gitea-user> \
TWINE_PASSWORD=<package-token> \
python -m twine upload \
--repository-url https://gitea.coulomb.social/api/packages/coulomb/pypi \
dist/*
Install from the simple index:
pip install \
--extra-index-url https://<gitea-user>:<package-token>@gitea.coulomb.social/api/packages/coulomb/pypi/simple/ \
issue-core
For CI, store the token as a secret and inject it into the package index URL at build time. Do not commit tokenized index URLs.
issue-core Migration
The portable deployment path for vergabe-teilnahme is:
- Release
issue-corefrom its source repo as a wheel, for example0.2.0. - Publish the wheel to the Gitea Python package registry.
- Keep
vergabe-teilnahme/pyproject.tomlon a versioned dependency such asissue-core>=0.2,<0.3. - Regenerate
vergabe-teilnahme/uv.lockfrom the Gitea PyPI registry after the package exists there. - Build the image on a clean runner that has no sibling
issue-corecheckout.
Registry endpoint ownership lives in railiance-forge; the package release and
application dependency lock belong to the issue-core and vergabe-teilnahme
source repos.