Skip to content

Commit

Permalink
Add GSoC'21 Projects
Browse files Browse the repository at this point in the history
  • Loading branch information
abhishalya committed Feb 18, 2021
1 parent 81c7040 commit f1069f3
Show file tree
Hide file tree
Showing 4 changed files with 182 additions and 2 deletions.
10 changes: 8 additions & 2 deletions .coafile
Original file line number Diff line number Diff line change
Expand Up @@ -129,7 +129,10 @@ ignore = _projects/corobo-enhancement.md,
_projects/meta-review.md,
_projects/convert-bear-to-aspects.md,
_projects/roberta-external-source.md,
_projects/generic-bears.md
_projects/generic-bears.md,
_projects/python-support.md,
_projects/improve-corobo.md,
_projects/gitmate-coala.md

[old_linelength_projects]
files = _projects/corobo-enhancement.md,
Expand Down Expand Up @@ -181,7 +184,10 @@ files = _projects/corobo-enhancement.md,
_projects/meta-review.md,
_projects/convert-bear-to-aspects.md,
_projects/roberta-external-source.md,
_projects/generic-bears.md
_projects/generic-bears.md,
_projects/python-support.md,
_projects/improve-corobo.md,
_projects/gitmate-coala.md
ignore_length_regex = .*https?://
bears = LineLengthBear
max_line_length = 120
50 changes: 50 additions & 0 deletions _projects/gitmate-coala.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
---
collaborating_projects:
- coala
desc: "Imrpove Gitmate integration for coala for better project maintenance"
developers_involved: []
difficulty: medium
initiatives:
- GSoC
markdown: gitmate-coala.md
mentors:
- abhishalya
- sils
name: "Gitmate for coala"
tags:
- gitmate
---

[Gitmate](https://gitlab.com/gitmate) is one of the most
integrated git solution at coala. Unfortunately, the project was
then left unmaintained and hence needs a revamp. Gitmate helps
coala in handling some of the crucial workflows responsible for
a smooth development experience for the newcomers in open-source
community.

As a part of the project we will be integrating gitmate with coala
and will be maintaing the project here. IGitt is the package powering
the Git workflow for Gitmate. This project will require several
improvements to IGitt as well to ensure Gitmate works well with the
latest API versions for Github, Gitlab and Jira.

Due to recent changes in GSoC with the program being only for 10 weeks
the coding phases below are adjusted accordingly.

#### Milestones

##### COMMUNITY BONDING

* Student should have a clear plan and conceptual work must be finished.
* The applicant should know how to work with the community.

##### CODING PHASE 1

* Changes to the IGitt must be finished including writing tests and
documentation.

##### CODING PHASE 2

* Gitmate should have a proper integration with the latest API versions of
Github, Gitlab and Jira.
* Refactoring of the existing CI/CD setup for Gitmate.
74 changes: 74 additions & 0 deletions _projects/improve-corobo.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
---
collaborating_projects:
- coala
desc: "Improve plugins, introduce new plugins, setup new configuration method"
developers_involved: []
difficulty: medium
initiatives:
- GSoC
issues:
- "https://github.com/coala/projects/issues/688"
- "https://github.com/coala/corobo/issues/311"
- "https://github.com/coala/corobo/issues/480"
- "https://github.com/coala/corobo/issues?q=is%3Aopen+is%3Aissue+label%3Aarea%2Fconfig"
markdown: improve-corobo.md
mentors:
- abhishalya
- nvzard
name: "Improve corobo"
requirements:
- "At least one patch to corobo should be accepted and merged."
- "The proposal needs to contain a clear concept."
tags:
- community
- corobo
---

Repository: https://github.com/coala/corobo

corobo is a collection of [errbot](http://errbot.io) chatbot framework plugins.

The primary objective of this project is to improve corobo by solving as many
pending issues as possible along with introducing new plugins which will ensure
smooth functioning in the community.

It is also necessary to implement better configuration for the bot and
eliminate the use of environment variables which is hacky and a better
solution is possible.
Refer: https://github.com/coala/corobo/issues/574#issuecomment-401006387

#### Improvements which can be made to the existing plugins:

* Adapt LabHub plugin to use the most recent release of IGitt.
* Deprecate use of github3 and migrate plugins to use IGitt.
* Handle users with different GitHub and GitLab usernames.
* Delay loading GitHub org member list when not needed.
* Implement changes to handle other backends (Eg. Zulip).
* Currently, the use of DefaultConfigMixin is not the best solution for
configuration. Implement a solution so that other orgs won't need the
* Mixin while configuring their plugins.
* Convince at least one other organization to use corobo in their chat room.
* Implement/Modify plugins to make handling of events like GCI/GSoC easy.

```
Eg:
>corobo set current event GCI
@/all, GCI has been started, so you can’t assign GCI related issues until the
event ends.
```

#### New plugin ideas:

* Plugin for corobo Usage Stats.
* Congratulate people who have their first commit merged.
* Listen for invite acceptance and provide more info based on that.
* Plugin for voting.
* All short and partial issues/PR URIs.
* Plugin to remove labels from issues.
* Announce unmerged PR closes on the most appropriate room.

```
Eg:
>corobo remove label area/gci from coala/corobo
@user, successfully removed area/gci label from 10 issues in coala/corobo
```
50 changes: 50 additions & 0 deletions _projects/python-support.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
---
collaborating_projects:
- coala
name: "Support for newer Python versions"
desc: "coala should be able to support all major Python 3 versions"
markdown: python-support.md
requirements:
- "The applicant must understand how results and actions work in coala."
- "The proposal needs to contain a clear concept."
difficulty: "high"
mentors:
- abhishalya
- jayvdb
initiatives:
- GSoC
tags:
- core
---

Currently, coala only supports Python 3 versions upto 3.6. This is a very
old release and there are reasons why coala was not able to progress to the
newer versions so quickly. The major blocker to this is the dependency
management which has some core issues which are to be solved to improve
the support.

There are a lot of dependencies which do not have support for all Python 3
versions and to fix this issue we should do one of the two things:
* Drop the package and fix the issue from the coala side.
* Find a workaround with the existing package and patch things on coala.

Due to recent changes in GSoC with the program being only for 10 weeks
the coding phases below are adjusted accordingly.

#### Milestones

##### COMMUNITY BONDING

* Student should have a clear plan and conceptual work must be finished.
* The applicant should know how to work with the community.

##### CODING PHASE 1

* Changes to the dependency management must be finished including writing tests
and documentation.

##### CODING PHASE 2

* The coala core should be revamped so they allow the above mentioned benefits.
* Refactoring of the existing CI/CD setup to verify builds on the newly supported
Python versions.

0 comments on commit f1069f3

Please sign in to comment.