sendgrid / python-http-client

Twilio SendGrid's Python HTTP Client for calling APIs
https://sendgrid.com
MIT License
125 stars 101 forks source link

Auto-generate the CHANGELOG.md file upon release #103

Closed thinkingserious closed 4 years ago

thinkingserious commented 5 years ago

Issue Summary

For every release, we currently hand craft a CHANGELOG.md update, now we would like to automate this process. Please see the existing CHANGELOG.md for formatting structure.

Acceptance Criteria

puzan commented 5 years ago

Hello! I already have few solutions for changelog generation. One of them is custom python app based on gitpython, jinja2 and redmine. It creates whole change log for release branch based on version tags (regex for semver) and commit message (it should contain hashtag with issue number).

I can prepare version which will be useful for you and publish it on github in scope of hactoberfest activity. Following should be done in my app:

@thinkingserious What do you think about this solution?

Also, I have question about integration. When and how do you expect to run generation. As Changelog.md is under git - automation part should have access to repository. And it is not good idea to provide any access to git for CI. So in my point of view it should be part of release procedure. Could you please describe you release procedure?

mauricetmeyer commented 5 years ago

@puzan from what I can tell, also seen here https://github.com/sendgrid/python-http-client/issues/92 is that it seems like that they are working on getting a CD environment up and running.

nathanmkaya commented 5 years ago

Hey, I'm thinking of just creating a bash script that generates the list of PR's between the current and previous release(tag) and appends the result to the top of CHANGELOG.md then pushes the changes back to Github if the changes were successfully made to the CHANGELOG.md file. It will be a bash script with the different functions to do the two actions. Pushing changes back to Github will require an access token added to travis as an encrypted variable.

childish-sambino commented 4 years ago

Closing as we're now using internal tool to do this.