Google Summer of Code 2021 Work Product Submission



coala

Sanchit Gupta

I am a pre-final year student (expected graduation month - June 2023) studying Computer Science and Engineering at Indian Institute of Technology (BHU), Varanasi, India. I participated in GSoC’21 with coala open-source organization. My project, GitMate for coala, aimed to improve and upgrade the GitHub and GitLab workflow bot, GitMate. The major focus of this project was to upgrade dependencies for GitMate and the underlying Git abstraction library IGitt, activate GitMate for community use, fix CI/CD pipelines, improve and enhance documentation, improve the frontend of the GitMate webapp and lastly, introduce new plugins in GitMate.


Patches Tarball


SHA-256:

Phase 1

Phase 2


Links to commits and repositories I've worked on:

Repository Link to Commit/s Description
c  cEPs View

cEP-0036: GitMate for coala

I  IGitt View

Upgrade IGitt dependencies

I  IGitt View

Change build config to coala

I  IGitt View

Update twine version

I  IGitt View

Add netlify.toml file

I  IGitt View

Add cron jobs for all supported python versions

g  gitmate-2 View

Run jobs on all branches

g  gitmate-2 View

Upgrade GitMate to django 3.2

g  gitmate-2 View

Run jobs on merge requests

g  gitmate-2 View

Upgrade dependencies for GitMate backend

g  gitmate-2 View

Install IGitt from master branch

g  gitmate-2 View

Add reviewer plugin

g  gitmate-2 View

Add tests for reviewer plugin

g  gitmate-2 View

wsgi.py: Read env vars from .env file

g  gitmate-2-frontend View

Dockerfile: Update node version

g  gitmate-2-frontend View

Remove pricing details

g  gitmate-2-frontend View

Remove calls to ‘/home’ path

g  gitmate-2-frontend View

Remove german and reference to companies

g  gitmate-2-frontend View

change URLs to coala subdomain

g  gitmate-frontend-react View

Create react app

g  gitmate-frontend-react View

Add repositories page

g  gitmate-frontend-react View

Repositories.jsx: Add/remove repos

g  gitmate-frontend-react View

Plugins.jsx: Add plugins component


GitMate for coala

Work Done

  1. Upgrades to IGitt:
    1. Upgraded dependencies
    2. Fixed and improved CI/CD pipelines
    3. Deployed IGitt documentation
  2. Upgrades to GitMate backend
    1. Upgraded dependencies
    2. Fixed and improved CI/CD pipelines
    3. Added reviewer plugin
  3. Gitmate Angular frontend enhancements:
    1. Improved UI
    2. Fixed URLs and routing
  4. Created new frontend app in React

Challenges

Almost everything went smoothly. This was my first time working on issues related to deployment, so figuring out how to solve these was both a challenge and a great learning opportunity. Writing the reviewer plugin, especially the tests, was also a little tough.

Work left to be done

GitMate backend still needs to be deployed so that GitMate can be activated for the community. Also, documentation still need to be improved.