Publicar versiones¶
Las versiones siguen Semantic Versioning. La versión se
define en pyproject.toml y se expone en el documento OpenAPI y mediante
telegram-me version.
Pasos¶
- Mueve las entradas de Unreleased de
CHANGELOG.mda un nuevo encabezado## [X.Y.Z] - YYYY-MM-DD. - Incrementa
versionenpyproject.tomly ejecutauv lock. - Haz commit (
Release X.Y.Z) en una rama y abre un pull request:mainestá protegida y solo acepta cambios mediante pull requests con las comprobaciones superadas. Fusionarlo ya despliega el commit en producción comosha-…. -
Cuando la ejecución de release de esa fusión en
mainhaya pasado, etiqueta el commit de fusión y sube la etiqueta:
La etiqueta construye y publica las etiquetas de imagen X.Y.Z, X.Y y X
en GHCR y Docker Hub, y crea una release de GitHub con la sección del registro
de cambios como notas.
Un pull request que cambia el contrato REST o GraphQL de forma incompatible
hace fallar el workflow Guards
(Cambios incompatibles). Un cambio así necesita
una versión mayor: etiqueta el pull request con breaking-change y describe el
cambio en Changed de CHANGELOG.md.
Reversión urgente¶
Si una versión se comporta mal, ejecuta Actions → Deploy con la etiqueta
sha-… anterior; consulta
Producción → Revertir.