issue-core/docs/package-release.md
tegwick ee9b85215d
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 2s
Build and Publish Container Image / build-and-push (push) Successful in 34s
docs(ISSUE-WP-0006): Forgejo-only language and projection boundary
Prefer Forgejo as the self-hosted forge product. Keep Gitea only as the
Gitea-compatible API identifier (module backends/gitea, type string
gitea). FORGEJO_TOKEN is preferred; GITEA_* remains a deprecated alias.

INTENT/SCOPE quote ACT-ADR-005: issue-core is not the fleet ops claim
queue. Connector docs describe repo work record → hub index → optional
Forgejo projection, not activity-core → issue-core → harness.

Assistant: grok
Assistant-Session: 01a09dc6-3f0d-7c93-8b11-8e83c0623d49
2026-09-14 04:52:58 +02:00

51 lines
1.1 KiB
Markdown

# Python Package Release
`issue-core` publishes as the `issue-core` Python package. The Railiance
application deployment path expects the `0.2.x` series to be available from the
Coulomb Forgejo PyPI registry (`forgejo.coulomb.social`).
## Local Release
Build and validate the release artifacts:
```bash
make package-check
```
Publish to the Coulomb organization registry:
```bash
TWINE_USERNAME=<forgejo-user> \
TWINE_PASSWORD=<package-token> \
make publish-forgejo
```
The package endpoint is:
```text
https://forgejo.coulomb.social/api/packages/coulomb/pypi
```
The matching simple index for consumers is:
```text
https://forgejo.coulomb.social/api/packages/coulomb/pypi/simple/
```
Do not commit tokenized package index URLs. CI and local Docker builds should
inject registry credentials through environment variables or BuildKit secrets.
## Forgejo Actions Release
The `.forgejo/workflows/publish-python-package.yml` workflow publishes on tags
matching `v*` or `workflow_dispatch`. Configure org secrets:
- `FORGEJO_PYPI_USER`
- `FORGEJO_PYPI_TOKEN`
Release with:
```bash
git tag v0.2.0
git push origin v0.2.0
```