Posts

GSoC Coding Phase 3

Image
CODING PHASE 3 Phase 2 result Hey guys, GSoC coding Phase 2 was completed and I passed second evaluation. Here is the feedback provided by my mentor  Naveen : Week 1: I needed an API in IGitt to filter issues of repository and organization based on some issue properties, to implement assign mechanism in GitMate. So, I improved the search API in IGitt to allow filtering issues in a repository or an Organization, by state, assignee and label properties. Checkout merged MR  here . In one of my previous posts, I have mentioned that I have added a 'pr rejector' plugin to close PR's opened on mentioned branch names. One of the GitMate users asked for a feature to auto close PR's on opened on GitHub,  I thought this plugin could be used for that purpose if we gave a Regular Expression string for branch names. I added support for accepting regex strings as branch names. Checkout merged MR  here . Week 2: As search API was improved in IGitt, I start...

GSoC Coding Phase 2 ends

Coding Phase 2 Coding phase 2 has come to an end, I worked almost everyday in this phase, I finished lots of work including the one which was left over in phase 1. Though I tried to complete all the tasks as planned, there were a couple of issues left over which would take some extra time. Week 3 : I worked on "Adding Team class" in IGitt, which was a little tricky one because GitLab doesn't have teams. So, assuming GitLab groups(which actually represent organization) as teams was a workaround for the problem. Then I added a feature "Auto assign issues based on commit mention in PR". When any user opens a PR(pull request) and mentions issues, which are being closed or fixed, in commit message, GitMate automatically assigns PR author to the mentioned unassigned issues and if anyone else is assigned to mentioned issues, GitMate will inform the user to work on other issues. You can check out my merged MR here . Week 4 : I made a PR on adding `mergea...

GSoC coding phase 2

Image
Coding Phase 2 Phase 1 result GSoC coding Phase 1 finished and I passed first evaluation. I received some honest feedback from my mentor Naveen. First week I finished my some of my pending work in first phase. Upgraded IGitt in GitMate to fetch latest commits made my me, which will be needed for writing plugins. Then my PR on "Add Fixes vs Closes checking plugin" got merged. Comment by that plugin will be like this- Second Week For completing squash plugin, I have completed writing code for executing squash commands as required in mr-rebaser repository, also I submitted a PR for executing squash plugin in GitMate. Only a demo was required to complete that plugin. I started working on plugin called "Auto assign issue based on commit mention in PR", i.e if an unassigned issue is mentioned with keyword(Fixes, Closes) in commit message of the PR and there is no CI failure in the PR, then issue will assigned to PR author, else if an assigned issu...

GSoC coding Phase 1 ends

Image
Coding Phase 1 Week 4 Fixes vs Closes : I started working on adding a new feature in existing pull request(PR) auto review plugin, called "Fixes vs Closes checking". In coala, for every PR we make, we have to mention which issues we are trying solve, in commit message. We should use `Fixes issue_link`, if we are fixing a issue which has a `type/bug` label and use `Closes issue_link` if we are closing a issue which doesn't have a `type/bug` label. So, I have written code to do this automatically by GitMate, if commit message doesn't follow the guideline, then GitMate will remove the PR from review queue by removing `pending review' label, adding `work in progress` label to the PR and configurable comment will be added on the PR explaining what was done wrong. I have also made   IGitt enhancement to know which keywords(Fixes, Closes) referenced which issues.  PR Rejector : I mentioned in the previous blog post about having some issues with testing m...

GSoC Coding Phase 1

Image
Coding Phase 1 Hey guys, it's been a long time since my last GSoC post, I will be sharing what have I done in GSoC Coding Phase 1 in this post. As I said in my last post, I had exams during this period and I had lot of work to do. First week I couldn't work first three days due to exams.  As soon as I got a couple of preparation holidays, I started working on writing a new plugin called PR(pull request) rejector, which closes PR's opened on certain list of branches, and leave a configurable comment stating to open PR on another source branch. This plugin will be helpful to automatically review the source branch of the PR and save the time of developers. Though I started working on it, I could not complete it yet, due to some migrations error, so I decided to work on another issue and come back to this later. Second week There were some exams in the beginning of the week, but I was free in the weekend, so I started working on a IGitt enhancement, to add me...

Community Bonding period

Image
Community Bonding post Hey guys, I am back with one more post on how I spent my GSoC community Bonding period with coala. If you have read my previous post, you know that I was tensed about how will I get used to GitMate in such short time. Let's see what happened. First week: Firstly, I have set up GitMate environment and I wanted to work on some issue to get familiar with code base. So, I chose a small issue and started working on it. My work was to sync issues labels every time someone pushed a commit and updated their PR. So, I got all the PR labels in list called ignored list and each time you update a pull request(PR), GitMate gets all the labels of the issues, which the PR closes and if those labels aren't present in the PR, then add it to the PR, and remove all other labels on the PR, which isn't on the issue, also don't remove the PR related labels like "process/WIP", "process/pending review", size labels, etc. What I learned by f...

Accepted in Google Summer of Code (GSoC) 2018!!!

Image
My journey in coala: I joined coala organisation in January 2017, expecting to apply for GSoC 2017. Due to age restrictions I couldn't apply in 2017. But, I stayed and learned a lot from coala and it's community. I would say coala is really good for newcomers, it provides great documentation and help from community. Initially, I worked on coala core repositories, but I was interested in developing coala bot(corobo predecessor), a chat bot which helps members of coala to ease their workflow. So, I started fixing some bugs and started adding new features to it. These things led to my promotion to developer and I was Google Code In 2017 mentor. Selecting project and Writing Proposal: Recently, after GCI 2017, corobo was shutdown due to misuse of bot by some mischievous forces. And it increased a lot manual work and everyone was missing corobo badly. So, I started working on a GSoC proposal to fix corobo security and add some enhancements to it. After finishing up my draft ...