Open ptvrajsk opened 3 years ago
I initially thought we could go along the lines of GH-Actions to do the automated changelogs and version bump but the flexibility of it may be limited.
Another solution would be to customize a boilerplate GH Bot (https://github.com/probot/probot) and tune it for our application (Referring to Commits and Drafting a PR). Since it's built in Typescript and can also use hooks it is pretty flexible to cover most of our needs. The pros of a bot is that it can be expanded to cover a bunch of more Project Management tasks (labelling PRs, requesting Reviews, making sure Suggested PR Commit message adhere to a particular standard, etc...)
But as mentioned by @anubh-v our solution shouldn't really take a lot more time to build and maintain as doing these things manually doesn't take too much time either.
What do you guys think?
I feel that this feature is a good-to-have feature.
Personally, I think this will take at most 2 or 3 days of work after some research has been done.
Maybe we can consider doing it after this semester during the break? :O
Another Idea is to simply add https://probot.github.io/apps/release-drafter/. To our CAtcher repo and it will automatically create a changelog based on the PRs we've merged and even categorize them based on labels we set to our PRs. Does what we want and requires minimal setup time.
Just to bump, I think we can revisit this issue since it's already after the semester, and compare the pros and cons of using release-drafter and making a custom GH bot using probot and see which step we can use in order to do release automation!
@seanlowjk @ptvrajsk Hello, can I try to work on this issue?
@AudreyFelicio sure, you can work on this
Let's discuss further if the solutions take too much time to implement.
Side note: In addition to the automated changelogs, it will be nice if we can automatically tag every merged PR to the milestone of the next version. Example: every PR could be tagged with milestone "next release", and we can subsequently rename the milestone to "vX.Y.Z" when we release a new version of CATcher.
Currently, we have to manually tag each PR to a milestone.
@CATcher-org/2021-devs @anubh-v
Regarding Release Automation, we were thinking to further automate the process.
Currently,
With some added automation we could combine the first 3 stages into a single workflow / action and simply verify the release files before manually finalizing the release.
Any suggestions on how we could go about doing this or different ideas on which parts can be automated?