ci: automate release notes generation

Aperta
#723 3 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 4 giorni

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
3/5
Tempo stimato
1-2 giorni
Idoneità per principianti
62/100
Tipo di issue
Funzionalità
Chiarezza
Abbastanza chiara
Stato di attività
Tranquilla
Stack tecnologico
github
Ambito
ci-cd, release

Direzione di ricerca

Inizia con il .github/release.yml proposto ed esamina la tassonomia esistente delle label kind/* del repository. Verifica la generazione integrata delle release note di GitHub usando un tag, quindi conferma che le voci siano categorizzate e che i Breaking Changes compaiano in una sezione dedicata.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

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
Lingua principale
Python
Stelle
2.6k
Fork
212
Merge medio
5g 14h
PR unite (30g)
39

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di apache/burr

Tutte le issue di apache/burr

Issue simili

Altre issue su Python

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.