Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Build: Investigate auto-generating release notes #291

Closed
ErisDS opened this issue Jul 16, 2013 · 5 comments · Fixed by #322
Closed

Build: Investigate auto-generating release notes #291

ErisDS opened this issue Jul 16, 2013 · 5 comments · Fixed by #322
Assignees
Milestone

Comments

@ErisDS
Copy link
Member

ErisDS commented Jul 16, 2013

I think it might be possible to use this: https://npmjs.org/package/git-release-notes

I'd like to try it out and see what the resulting changelog file would look like.

Also would like to do a spot of research to see if there is anything else out there.

Ideally I don't want to have to manage release notes by hand. I'd rather have them go out with the build they relate to, and then clean them up / make them make more sense later if needs be.

Ideally, I'd like to have this done and in master/build branch ready for the 3pm weekly next Monday (22nd)

@cgiffard
Copy link
Contributor

Happy to attack this one.

@ghost ghost assigned cgiffard Jul 29, 2013
@ErisDS
Copy link
Member Author

ErisDS commented Jul 29, 2013

Assigned... any chance we can get this one in by next Monday's release?

@cgiffard
Copy link
Contributor

Unless this ends up being much more complicated than anticipated, sure! I'll keep you up to date with progress in any case. :)

@cgiffard
Copy link
Contributor

I checked out git-release-notes, and there's a few things it doesn't seem to be able to do. Namely, that it doesn't appear to support filtering, meaning we get cruft in the logs like merges and the nightly tags.

The code is only about fifty SLOC — we could fork it, but honestly, I'm pursuing something simpler along the lines of this little tip: https://coderwall.com/p/gkw6tg

Then just add a grunt task called, say, releaseNotes, and add it to the build, nightly, and weekly tasks.

I'm bashing something together now — I'll send through a PR shortly.

@ErisDS
Copy link
Member Author

ErisDS commented Jul 30, 2013

This sounds perfect, no need for anything over complex but definitely want to add --no-merges to the git log command that generates the file.

cgiffard referenced this issue in cgiffard/Ghost Aug 1, 2013
Fixes #291

Incorporated new task into gruntfile which generates a markdown formatted
changelog from the git commit messages of the last 14 git tags, corresponding
to two weeks of nightly releases.

The changelog is saved in __dirname/CHANGELOG.md.

At this stage, the code is a fair bit too complex to be left in the gruntfile
and should be split out into a separate module, but this is a first bash at the
function which can be improved later.

Additionally, several additions have been made to the generator to improve
reliability:

- Now generates changelog based on log output with --graph (thx hannah)
- Grabs tag refs from git
- Added changelog to gitignore
- Added message for builds without any changes
- Ignores any commits which have not been incorporated into a build
morficus pushed a commit to morficus/Ghost that referenced this issue Sep 4, 2014
Fixes TryGhost#291

Incorporated new task into gruntfile which generates a markdown formatted
changelog from the git commit messages of the last 14 git tags, corresponding
to two weeks of nightly releases.

The changelog is saved in __dirname/CHANGELOG.md.

At this stage, the code is a fair bit too complex to be left in the gruntfile
and should be split out into a separate module, but this is a first bash at the
function which can be improved later.

Additionally, several additions have been made to the generator to improve
reliability:

- Now generates changelog based on log output with --graph (thx hannah)
- Grabs tag refs from git
- Added changelog to gitignore
- Added message for builds without any changes
- Ignores any commits which have not been incorporated into a build
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants