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

proposal: enforce conventional commit titles for Pull request reviews #71

Closed
1 of 6 tasks
lewisdaly opened this issue Nov 25, 2020 · 3 comments
Closed
1 of 6 tasks
Assignees
Labels
theme-non-functional-support Improvements in DFSP Onboarding time, Cybersecurity & Performance as a Pillar
Milestone

Comments

@lewisdaly
Copy link
Contributor

lewisdaly commented Nov 25, 2020

One Line Summary:

In order to better automate our release lifecycle, we should adopt conventional commits in our GitHub pull request titles.

Request Details:

  • Deadline: This PI
  • Impact (Teams): All teams working on open source codebases in the Mojaloop Github Org
  • Impact (Components): All repos which build docker and npm targets, or any repo which we wish to automate the release of.

One of the goals of the versioning workstream in this PI is to adopt more automated release strategies for our repos. Automating releases reduces the operational burden on the community, makes it easier to write release notes, and can improve development workflows for others depending on our components.

conventional commits has emerged as the industry standard for writing commit messages that can be used to automatically version software releases. We have adopted this approach with great success in some PISP workstream repos:

These releases and release notes were automatically generated based on the pull request titles, since the titles are what ends up being the merge commit message when github merges a PR.

We could add a PR title check similar to this github action in CircleCI, which would perform the validation, and fail if the pull request title is not written correctly.

Artifacts:

Example github action

Examples of good release notes

Dependencies:

  • Update the contributor's guide with how to write good commit messages, and information of breaking changes

Accountability:

Decision(s):

This was discussed on 9/12/20. The decision was made to adopt this proposal.

Details

  • Update contributor's guide to mention the pr title formatting, how to specify a breaking change, and what constitutes a breaking change
  • Lewis to make a demo of using circleci to enforce this standard
  • Once we are happy with the demo, apply to all 'core' repos

Follow-up:

@lewisdaly lewisdaly added this to the PI 12 milestone Nov 25, 2020
@godfreykutumela
Copy link
Contributor

Noted @lewisdaly and this is scheduled for the first 10min of next week's session.

@godfreykutumela godfreykutumela added the theme-non-functional-support Improvements in DFSP Onboarding time, Cybersecurity & Performance as a Pillar label Nov 26, 2020
@elnyry-sam-k
Copy link
Member

This looks good, @lewisdaly , thank you.. I think we should adopt this, now that we have adopted SemVer for about 1.5 PIs

@lewisdaly
Copy link
Contributor Author

Here's an example implementation that works well with our CI/CD: https://github.com/mojaloop/ml-operator/blob/master/scripts/_pr_title.js

From here, I'll add it to our circleci orb to make it more manageable across many codebases.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
theme-non-functional-support Improvements in DFSP Onboarding time, Cybersecurity & Performance as a Pillar
Projects
None yet
Development

No branches or pull requests

3 participants