- Update
pyproject.tomlversion. - Update
CHANGELOG.mdif needed. - Update
STATUS.md. - Ensure
STATUS.mduses the timestamp line formatLast updated: YYYY-MM-DD HH:MMat top and bottom. - Confirm default CI intentionally excludes gated Ollama integration tests.
Run the release validation set:
python scripts/check_no_legacy_dicts.py
ruff check .
mypy modelito --ignore-missing-imports
pytest -q
python -m build
python -m twine check dist/*
python -c "import modelito; print(modelito.__version__)"- PyPI publishing uses GitHub Actions trusted publishing, not a PyPI API token.
- Workflow:
.github/workflows/publish.yml. - Environment:
pypi. - PyPI project-side trusted publisher must match:
- repository:
krahd/modelito - workflow:
publish.yml - environment:
pypi
- repository:
- Release tags must use
vX.Y.Z. - The publish workflow validates tag version against
pyproject.toml.
- Confirm the tag version matches
pyproject.toml. - Verify the PyPI project-side trusted publisher settings for
krahd/modelito. - Confirm the GitHub Actions publish workflow is targeting the
pypienvironment.
git status
git tag vX.Y.Z
git push origin vX.Y.Z- Check the uploaded release files on PyPI.
- Confirm the release tag and published version match.
- Update
STATUS.mdif the release state changed.
Run clean environment install verification:
python -m venv /tmp/modelito-release-check
. /tmp/modelito-release-check/bin/activate
python -m pip install --upgrade pip
python -m pip install modelito
python -c "import modelito; print(modelito.__version__)"Optional checks:
python -m modelito doctor
modelito-doctor --help
python -m pip install "modelito[serve]"
modelito-serve --help- Keep Ollama raw passthrough docs/tests aligned with current
/v1/chat/completionsbehaviour. - Continue applying provider-addition policy in
docs/ARCHITECTURE.md. - Keep FastAPI/Uvicorn optional under
[serve]. - PyPI project-side trusted publisher settings must be verified externally before tagging.