Cartão de receita de referência rápida - pronto para copiar e colar.
"""version_bump.py - automatiza metadados de versão de serviço para notas de release."""
from __future__ import annotations
import subprocess
from dataclasses import dataclass
from datetime import date
@dataclass ( frozen = True )
class ReleaseMetadata :
service: str
git_sha: str
python: str
release_date: date
def git_short_sha () -> str :
return subprocess.check_output([ "git" , "rev-parse" , "--short" , "HEAD" ], text = True ).strip()
def build_release_notes (meta: ReleaseMetadata, changes: list[ str ]) -> str :
lines = [
f "# Release do { meta.service } { meta.release_date.isoformat() } " ,
f "- Git: ` { meta.git_sha } `" ,
f "- Python: { meta.python } " ,
"" ,
"## Mudanças" ,
]
lines.extend( f "- { c } " for c in changes)
return " \n " .join(lines)
if __name__ == "__main__" :
meta = ReleaseMetadata( "orders-api" , git_short_sha(), "3.14.0" , date.today())
print (build_release_notes(meta, [ "Adicionar campo de código de imposto (nulo)" , "Corrigir backoff de retentativa do Celery" ]))
Versões da Stack: Esta página foi escrita para Python 3.14.0 (estável 3.14, manutenção 3.13), FastAPI 0.115+ , Django 5.2 , Flask 3.1 , Pydantic 2 , PyTorch 2.6+ , pandas 2.2+ , Polars 1.x , ruff 0.9+ , e uv 0.6+ .