Dogfood SIL.ReleaseTasks to automate CHANGELOG stamping and release creation from pushed tags
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
- Ambito
- build-system, ci-cd, release
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:
StampChangelogFileWithVersionalready handles Keep-a-Changelog-aware stamping — given a literal## [Unreleased]line, it inserts## [x.y.z] - dateright after it, leaving a fresh empty## [Unreleased]above. It's just never invoked anywhere in this repo's own build.SetReleaseNotesPropertyis already dogfooded (viaSIL.ReleaseTasks.Dogfood, referenced bySIL.BuildTasks.csproj/SIL.BuildTasks.AWS.csproj) to populatePackageReleaseNotesat pack time — the same extraction could feed a GitHub Release body.CreateReleaseNotesHtmlcould 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
StampChangelogFileWithVersionin a maintainer-run script orworkflow_dispatchjob 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
SetReleaseNotesPropertyand 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
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di sillsdev/SIL.BuildTasks
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
sillsdev/SIL.BuildTasks#91 ·
Tutte le issue di sillsdev/SIL.BuildTasks
Issue simili
-
再現済み 要トリアージ 誤判定
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
yksr-melt/Meltype#421 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 64/100
Facepunch/sbox-public#12063 · 1 commento ·
I maintainer di solito rispondono entro 2 giorni
-
documentation
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
facioquo/stock-indicators-dotnet#2316 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
eriknihlen/OpenAC#219 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
ObsidianMC/Obsidian#548 ·
I maintainer di solito rispondono entro 1 giorno