github-tools / github-tools/github-release-notes
Allow manual changes to persist across --override
- Lingua principale
- JavaScript
- Stelle
- 897
- Fork
- 313
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Descrizione
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!
Guida per i contributori
Apri la guida per i contributori
Direzione di ricerca
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.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- javascript
- Ambito
- release
- Tipo di issue
- Funzionalità
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Stato di attività
- Ferma
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 35/100