ideas
ideas copied to clipboard
Enforce documentation updates if PR adds feature or breaking change
⚠️ This issue is reserved for {Rails Girls | Google} Summer of Code
It will be freed up after February if nobody claimed the issue
This bot can be installed to make sure that documentation is updated whenever code changes. In order for the bot to know that there is a new feature or breaking change it would parse all commit messages using conventional-changelog. The preset option would allow to use one of the officially supported commit message conventions to be used.
If conventional-changelog
detects a new feature or a breaking change it will check if the repository's README file was updated (configurable, too). If documentation was not updated it sets status to error, otherwise to success
More ideas
- look for (configurable) labels like
feature
orbreaking change
for pull requests that do not follow the commit message conventions. - if a pull request gets squash & merged then bot could do the check after the merge and if documentation was not updated it could create an issue
@gr2m I was interested in solving this issue. I've checked out the conventional-changelog repo and will start working on the bot once I understand the preset option correctly, any suggestions on how to start this issue are highly appreciated.
If conventional-changelog detects a new feature or a breaking change it will check if the repository's README file was updated (configurable, too).
So as far as I understand this the use case for this is limited to projects that have documentation on their repo. If they have documentation hosted somewhere else I don't think this will work. @gr2m
I would like to claim the task for my RGSoC 2018. I will be adding the detailed execution plans in the proposal and also updating the same here in the issue. @gr2m
@siwaniagrawal good luck :) If your team gets accepted we’d be happy to work on it with you during the summer.
Just to clarify, everyone can use the app for their application (both RGSoC & GSoC)
@rsarky the README file counts as documentation, but yeah, it won’t be applicable to every project, which is the case for most GitHub apps :)
Hii @gr2m , i found this issue very interesting and i would like to work further on this during summers.
Hey @gr2m, i have some ideas on this issue. Should i discuss them here or p2p on slack channel?
In order for the bot to know that there is a new feature or breaking change it would parse all commit messages using conventional-changelog.
@gr2m Does that mean conventional-changelog can parse commit messages from github?I didn't find the way to catch the commit messages from github using this module? Can it only be used to parse my local repostory's commit messages in my computer?I may not understand this issue and wish for any suggestios.........
@aryannarora let’s discuss here :) Only if you start coding maybe keep to yourself, we can help if you need to create a private repository. If you are student, you can sign up for the Student Developer Pack which gives you private repositories for free
@2pen you’ll have to fetch the commits using GitHub’s REST API, see https://probot.github.io/api/latest/global.html#github
@gr2m Thanks a lot for offering to help with the private repository. 😃 I do have GitHub Student Developer Pack and it's so amazing. Love GitHub. ❤️ Also, I'm starting to work on a prototype for this issue and i'll share it soon. Can't wait. 😆
@gr2m, Has this project being taking already for GSoC?
@OMENSAH everyone can use this project for their GSoC proposal, it’s reserved for exactly that purpose :)
@gr2m I was thinking we use GitHub Markdown API with documentation. This way the documentation would be converted to html and we would easily be able to query for heading to elements, say <h2>
, to get the features' titles to make sure documentation is updated. Right?
hey @gr2m I don't know if this issue is resolved during GSOC 2018 but here is my small effort to solve it. Although my bot doesn't check code if it's right or not but we could work on it.
The app looks great, thanks for sharing!
hey @gr2m, I was thinking to develop this bot so that it will be more relevant to use in real-life applications could you please suggest some ways to proceed in that direction so that I could work in that manner.
I was thinking to add a time limit so that if a PR doesn't change for a specific time it will remind the user to make changes somewhat like Stale Bot
Thanks🙂