Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

Dogfood SIL.ReleaseTasks to automate CHANGELOG stamping and release creation from pushed tags

Aperta
#87 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
5/5
Tempo stimato
Più di una settimana
Idoneità per principianti
35/100
Tipo di issue
Funzionalità
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
csharp, github-actions

Direzione di ricerca

Inizia con .github/workflows/CI-CD.yml e i riferimenti a SIL.ReleaseTasks.Dogfood in SIL.BuildTasks.csproj e SIL.BuildTasks.AWS.csproj; esamina StampChangelogFileWithVersion e SetReleaseNotesProperty. Innanzitutto stabilisci se il lavoro comprende l'integrazione nel workflow, un nuovo task per i link di confronto o entrambi. Il completamento dovrebbe includere un flusso di release concordato che apponga un contrassegno a CHANGELOG.md, crei un GitHub Release dalle note del tag, alleghi i pacchetti compilati e mantenga i link di confronto specificati.

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

Descrizione

We just had a case (PR #86) where a release's CHANGELOG entries sat under ## [Unreleased] indefinitely because nobody renamed the section and updated the compare-link footer at release time.

This repo already ships tooling that covers most of what's needed to prevent that:

  • StampChangelogFileWithVersion already handles Keep-a-Changelog-aware stamping — given a literal ## [Unreleased] line, it inserts ## [x.y.z] - date right after it, leaving a fresh empty ## [Unreleased] above. It's just never invoked anywhere in this repo's own build.
  • SetReleaseNotesProperty is already dogfooded (via SIL.ReleaseTasks.Dogfood, referenced by SIL.BuildTasks.csproj / SIL.BuildTasks.AWS.csproj) to populate PackageReleaseNotes at pack time — the same extraction could feed a GitHub Release body.
  • CreateReleaseNotesHtml could render those notes as HTML if ever wanted.

None of this is wired into .github/workflows/CI-CD.yml: there's no step that stamps CHANGELOG.md and no step that creates a GitHub Release.

Suggested direction (not a committed design):

  • Use StampChangelogFileWithVersion in a maintainer-run script or workflow_dispatch job to prepare a release PR, replacing today's hand-editing (the exact step that was skipped for v3.2.0).
  • On tag push, add a CI step that extracts notes via SetReleaseNotesProperty and creates the GitHub Release with the built packages attached, since by then CHANGELOG.md should already be correctly stamped via the step above.

New task worth adding to SIL.ReleaseTasks itself: nothing today maintains the Keep-a-Changelog compare-link footer (the [Unreleased]: .../compare/vX...master line and the per-version [x.y.z]: .../compare/vPREV...vNEW lines). This isn't specific to this repo — every consumer of SIL.ReleaseTasks that follows the Keep a Changelog format has to maintain these links by hand. A new task (either folded into StampChangelogFileWithVersion or a standalone one) that, given the changelog file, the new version, and the repo URL, updates the [Unreleased] compare link and inserts the new version's compare-link line would benefit all downstream consumers of the package, not just this repo.

Lingua principale
C#
Stelle
5
Fork
3
Merge medio
8h 23m
PR unite (30g)
4

Preparare l'ambiente

Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.

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 sillsdev/SIL.BuildTasks

Tutte le issue di sillsdev/SIL.BuildTasks

Issue simili

Altre issue su C#

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.