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

Auto generate plugin changelog using goreleaser #13587

Closed
mattermod opened this issue Jan 7, 2020 · 11 comments · Fixed by mattermost/circleci-orbs#10
Closed

Auto generate plugin changelog using goreleaser #13587

mattermod opened this issue Jan 7, 2020 · 11 comments · Fixed by mattermost/circleci-orbs#10
Assignees
Labels
Area/Toolkit Plugins and integrations framework Difficulty/2:Medium Medium ticket Help Wanted Community help wanted PR Exists Tech/Automation

Comments

@mattermod
Copy link
Contributor

mattermod commented Jan 7, 2020

Use https://github.com/goreleaser/goreleaser to auto generate plugin changelog in the circleci orb. The generated changelog should be used as the body of the GitHub release. See https://github.com/mattermost/mattermost-plugin-github/releases/tag/v0.12.0 for en example changelog.
Screenshot from 2020-01-07 16-18-54

For more context see this conversation.


If you're interested please comment here and come join our "Contributors" community channel on our daily build server, where you can discuss questions with community members and the Mattermost core team. For technical advice or questions, please join our "Developers" community channel.

New contributors please see our Developer's Guide.

JIRA: https://mattermost.atlassian.net/browse/MM-19848

@mattermod mattermod added Help Wanted Community help wanted Up For Grabs labels Jan 7, 2020
@hanzei hanzei added Area/Toolkit Plugins and integrations framework Difficulty/2:Medium Medium ticket Tech/Automation labels Jan 7, 2020
@RajatVaryani
Copy link
Contributor

@hanzei I would like to work on this.

@hanzei
Copy link
Contributor

hanzei commented Jan 8, 2020

Thanks @RajatVaryani

@RajatVaryani
Copy link
Contributor

RajatVaryani commented Jan 9, 2020

Hello @hanzei. Can you please put some light on how you generated this changelog?

I explored goreleaser but could not find a straightforward way to do that. Also, how did it group commit messages by enhancements and fixes? Are we using some sort of conventions like this?

@hanzei
Copy link
Contributor

hanzei commented Jan 9, 2020

Goreleaser generated a changelog under dist/CHANGELOG.md that should be used. It's only a list of the commit messages, but that's fine.

@RajatVaryani
Copy link
Contributor

@hanzei Why not use a tool whose primary aim is to generate changelog? e.g conventional-changelog. This is based on https://www.conventionalcommits.org/en/v1.0.0/#summary.

This is how it will look like:
image

@hanzei
Copy link
Contributor

hanzei commented Jan 13, 2020

@RajatVaryani I have a person aversion to js cli tools. 😉

But that is not a real reason to not use any of these tools.

What I want is a tool that:

  1. Can be easily run in CLI
  2. Can be updated the the lastest version safely
  3. Won't break in the future on language updates
  4. (Optional) Easy configuration and templating

I'm concerned that 3. will be an issue for js cli tools. Let me know what you think. I'm not hard convinced about goreleaser and open for other suggestion.

@RajatVaryani
Copy link
Contributor

@hanzei. I don't have first hand experience with JS so I will defer (But I have heard the same things) and go ahead with goreleaser.

@RajatVaryani
Copy link
Contributor

@hanzei I reached out to goreleaser community and I got to know that they generate changelog just using simple git commands internally.

git log --pretty=oneline --abbrev-commit --no-decorate --no-color (git describe --tags --abbrev=0)..HEAD

This is the command used to generate the changelog with some modification. I think we can generate this changelog in the pipeline itself (or a simple bash script if required). What do you think?

@hanzei
Copy link
Contributor

hanzei commented Jan 21, 2020

Plain git commands seam much better then my idea. 👍

@RajatVaryani
Copy link
Contributor

@hanzei I will be closing this and #13586 in this week.

@hanzei
Copy link
Contributor

hanzei commented Jan 27, 2020

@RajatVaryani Awesome, looking forward to it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area/Toolkit Plugins and integrations framework Difficulty/2:Medium Medium ticket Help Wanted Community help wanted PR Exists Tech/Automation
Projects
None yet
4 participants