ci: automate release notes generation

Abierto
#723 3 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 4 días

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
3/5
Tiempo estimado
1-2 días
Aptitud para principiantes
62/100
Tipo de issue
Nueva funcionalidad
Claridad
Bastante claro
Estado de actividad
Tranquilo
Stack tecnológico
github
Área
ci-cd, release

Línea de trabajo

Comienza con el .github/release.yml propuesto e inspecciona la taxonomía existente de etiquetas kind/* del repositorio. Verifica la generación integrada de notas de versión de GitHub usando un tag y confirma después que las entradas estén categorizadas y que los Breaking Changes aparezcan en su propia sección.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

area/ci kind/feature priority/medium status/blocked

Part of #715

Problem

Release notes are currently written manually by reviewing the git log between tags. This is time-consuming, error-prone (easy to miss PRs), and inconsistent in format.

Solution

Adopt a changelog fragment approach (similar to Towncrier or git-cliff):

  1. Each PR that should appear in release notes includes a changelog fragment file
  2. At release time, fragments are assembled into a structured changelog
  3. Fragments are categorized by type (feature, bugfix, improvement, breaking change, etc.)
Options
  • Towncrier: Python-based, well-established. Uses fragment files in a `newsfragments/` directory. Each fragment is named `{issue_number}.{type}.rst`.
  • git-cliff: Rust-based, generates changelogs from conventional commits. No fragment files needed but requires commit message discipline.
  • GitHub release notes: Built-in, generates from PR titles and labels. Least effort but least control.
Recommendation

Start with GitHub's built-in release notes generator configured via `.github/release.yml`, using our existing label taxonomy (`kind/*`) to categorize entries. This is zero-friction for contributors. Move to Towncrier later if more control is needed.

Acceptance criteria
  • `.github/release.yml` configured with label-to-category mapping
  • Release notes generated automatically for each tag
  • Breaking changes highlighted in their own section
Lenguaje dominante
Python
Estrellas
2.6k
Forks
212
Merge medio
5 d 14 h
PR fusionados (30 d)
39

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de apache/burr

Todos los issues de apache/burr

Issues similares

Más issues de Python

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.