Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

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

Abierto
#87 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
5/5
Tiempo estimado
Más de una semana
Aptitud para principiantes
35/100
Tipo de issue
Nueva funcionalidad
Claridad
Bastante claro
Estado de actividad
Activo
Stack tecnológico
csharp, github-actions

Línea de trabajo

Comienza con .github/workflows/CI-CD.yml y las referencias a SIL.ReleaseTasks.Dogfood en SIL.BuildTasks.csproj y SIL.BuildTasks.AWS.csproj; inspecciona StampChangelogFileWithVersion y SetReleaseNotesProperty. Primero determina si el trabajo abarca la integración del workflow, una nueva tarea de enlaces de comparación o ambas cosas. La finalización debe incluir un flujo de release acordado que marque CHANGELOG.md, cree un GitHub Release a partir de las notas del tag, adjunte los paquetes compilados y mantenga los enlaces de comparación especificados.

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

Descripción

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.

Lenguaje dominante
C#
Estrellas
5
Forks
3
Merge medio
8 h 23 min
PR fusionados (30 d)
4

Preparar el entorno

Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.

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

Todos los issues de sillsdev/SIL.BuildTasks

Issues similares

Más issues de C#

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.