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

Release Automation #639

Open
ptvrajsk opened this issue Mar 10, 2021 · 6 comments
Open

Release Automation #639

ptvrajsk opened this issue Mar 10, 2021 · 6 comments
Assignees
Labels
aspect-Process related to the project process

Comments

@ptvrajsk
Copy link
Contributor

@CATcher-org/2021-devs @anubh-v

Regarding Release Automation, we were thinking to further automate the process.

Currently,

  • We manually push a PR with the version bump
  • Manually Merge it and Trigger a workflow to to build the necessary files and create a Draft Release
  • Manually type out the Changelogs
  • Finalize Release

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?

@ptvrajsk ptvrajsk added the aspect-Process related to the project process label Mar 10, 2021
@ptvrajsk
Copy link
Contributor Author

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?

@seanlowjk
Copy link
Contributor

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

@ptvrajsk
Copy link
Contributor Author

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.

@seanlowjk
Copy link
Contributor

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!

@AudreyFelicio
Copy link
Contributor

AudreyFelicio commented Jul 27, 2021

@seanlowjk @ptvrajsk
Hello, can I try to work on this issue?

@anubh-v
Copy link
Contributor

anubh-v commented Jul 31, 2021

@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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
aspect-Process related to the project process
Projects
None yet
Development

No branches or pull requests

4 participants