github-tools / github-tools/github-release-notes

Allow manual changes to persist across --override

Aberta
#139 3 comentários 1 reação 0 responsáveis Ver no GitHub
enhancement
Linguagem predominante
JavaScript
Estrelas
897
Forks
313
Métricas de merge de PRs
Nenhum PR com merge em 30d

Descrição

Hello,

We've been happily using GREN on an enterprise Github instance to generate release notes based on PR data. We have a use-case where we'd like to add additional, hand-crafted release notes on top of the GREN-generated data that could be persisted even when using `--override`. This would be really useful in adding migration guides for major/breaking releases. We often end up regenerating the GREN release notes in order to add clarifications to PR titles.

Would it be possible to have the GREN-generated data live in a special block that GREN could replace rather than overwriting the entire body?

e.g., for the following release body:

```markdown
// Hand-crafted release notes here
# Migration Guide
...

// Generated GREN data goes here

```

When using `--override`, GREN would only replace/regenerate the contents between the `GREN-BEGIN` and `GREN-END` comment blocks so that any manual additions to the release notes are not overwritten. Since these blocks are just HTML comments, they wouldn't end up visible in the overall release page.

FWIW, here's the `.grenrc` that we're using. Unfortunately I can't share the specific repo data because enterprise 😕

```js
module.exports = {
dataSource: 'prs',
prefix: '',
onlyMilestones: false,
groupBy: {
'💥 Breaking Changes 💥': ['Major (Breaking Change)'],
'✨ Non-Breaking New Features ✨': ['Minor (New Feature)'],
'🛠️ Bug Fixes + Misc 🛠️': ['Patch (Bug Fix)']
},
changelogFilename: 'CHANGELOG.md'
};
```

Thanks!

Guia de contribuição

Abrir o guia de contribuição

Direção de pesquisa

Start by tracing the --override entry point and how GREN generates the release body, using the example .grenrc and CHANGELOG.md setting as context. Check how existing release content is fetched and replaced, then define behavior for the GREN-BEGIN and GREN-END markers, including what happens when they are absent. Done means manual content remains intact while only the generated block is refreshed.

Escrita pelo modelo de indexação a partir do texto da issue.

Avaliação

Stack de tecnologia
javascript
Domínio
release
Tipo de issue
Funcionalidade
Dificuldade
4/5
Tempo estimado
3-5 dias
Status de atividade
Estagnada
Clareza
Razoavelmente clara
Facilidade para iniciantes
35/100

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.