Release¶
Versionamento¶
O projeto segue Semantic Versioning
(MAJOR.MINOR.PATCH). A versão vive em dois lugares que precisam ficar em
sincronia:
django_celery_task_monitor/__init__.py(__version__)pyproject.toml([project].version)
Checklist de release¶
Atualize
__version__e[project].version.Rode a suíte completa:
pytest,black --check,flake8,mypy.Se alguma string traduzível mudou, regenere e recompile as traduções (
makemessages+compilemessages, ver Desenvolvimento) e confira que os.moatualizados foram commitados — quem instala via pip não rodacompilemessages, então o.moversionado é o que efetivamente é publicado.Atualize o changelog (se/quando o projeto adotar um
CHANGELOG.md).Confira localmente antes de publicar de verdade (o CI não builda o pacote, só testa/lint):
python -m build twine check dist/*
Dê push no
maine crie uma release no GitHub (com uma tagvX.Y.Z) apontando para o commit da nova versão. O workflow.github/workflows/publish.ymldispara automaticamente no eventorelease: published: builda o pacote, rodatwine checke publica no PyPI via Trusted Publisher (OIDC) — sem token armazenado no GitHub.Pré-requisito (uma vez só, feito no site do PyPI, não pelo CI): registrar este repositório como trusted publisher do projeto
django-celery-task-monitorem pypi.org → seu projeto → Publishing, apontando para o workflowpublish.ymldeste repositório.
Compatibilidade¶
Mudanças que quebram a API pública (TaskLog, CeleryTaskMonitorMixin,
template tags, endpoints REST, nomes de settings) exigem um bump de
MAJOR e devem manter um caminho de migração sempre que viável — ver a
seção correspondente em CONTRIBUTING.md.