Review Bots - GCP
As mentioned in a previous post, I decided to deploy to GCP.
Here, I found a few options for running the bot and the model.
Google Kubernetes Engine Google Functions Google Cloud Run I experiemented with all 3 possible deployment targets, using Terraform to deploy the infrastructure.
GKE Configuring GKE in GCP is a really nice experience.
It was quite straight forward to setup the cluster with a couple of terraform resources - google_container_cluster and google_container_node_pool.
Review Bots - The Code
Great. I have some Machine Learning models to categorise Pull Requests. But, how do I build a bot?
Do I make a Github Action or a Github Application?
How could I implement it?
Well, part of the motivation for this was to make these bots simple to use and manage across many repositories.
If I made a Github Action, I’d need to create a workflow in every repository. But, if I used a Github Application, I could install it once and it could be run on every repo!
Review Bots - The Tech
Now that I had some ideas about what I wanted to build, I needed to make some technology decisions.
At my day job, I use Azure a lot. It would be easier to look there, but I wanted to learn some AI/ML. I had also used some AWS at work and personally, but I didn’t have any experience with GCP.
I did some research to compare the AI/ML features of AWS, Azure and GCP and ended up choosing GCP.
Review Bots - The Idea
Review Bots - The Idea I’ve been writing code and building solutions in IT for a while now.
It was relatively simple when I worked by myself; it was only me. I had my own expectations about how to implement a feature, or fix a bug. I did consider my future self, and future developers who may pick up the project.
However, I didn’t have someone else reviewing my code, or the size of my changes.