-
Notifications
You must be signed in to change notification settings - Fork 53
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Closes #110
- Loading branch information
Showing
1 changed file
with
97 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,97 @@ | ||
# corobo Enhancement (security, tests and configurability) | ||
|
||
| Metadata | | | ||
| -------- | -------------------------------------------------------- | | ||
| cEP | 15 | | ||
| Version | 1.0 | | ||
| Title | corobo Enhancement (security, tests and configurability) | | ||
| Authors | Nitanshu Vashistha <mailto:[email protected]> | | ||
| Status | Proposed | | ||
| Type | Process | | ||
|
||
## Abstract | ||
|
||
This cEP describes the details of enhancement of [corobo](https://github.com/coala/corobo) | ||
in terms of security, tests, configurability and the new plugins that are to be | ||
added to corobo as part of the [GSoC Project](https://summerofcode.withgoogle.com/projects/#6603667076022272). | ||
|
||
## Security | ||
|
||
### Why improve security? | ||
|
||
Security has been one of the major concerns due to some past experiences. | ||
We want to provide access controls based on user’s GitHub team memberships. | ||
|
||
### How to improve security? | ||
|
||
1. Make all LabHub commands except invite require being a member of the | ||
organization. | ||
|
||
2. Add ability to ban from all gitter rooms at once. | ||
|
||
3. Remove auto-invite and give invite permissions to developers. | ||
|
||
4. Prevent newcomers from self-assigning themselves and give developers | ||
permission to assign newcomers. | ||
|
||
5. Prevent corobo being used to spam a room. | ||
|
||
6. Force newcomers to finish one issue first. | ||
|
||
7. Require newcomers to find a newcomer issue to work on before they are | ||
invited to join the organization. | ||
|
||
## Tests | ||
|
||
### Why improve existing tests and infrastructure? | ||
|
||
The default TestBase provided by errbot is not enough for testing plugins like | ||
LabHub, which required intensive mocking. One of the examples of this case is | ||
issues like [this](https://github.com/errbotio/errbot/issues/1086) | ||
|
||
### How to improve existing tests and infrastructure? | ||
|
||
This will involve making changes upstream in [Errbot](https://github.com/errbotio/errbot/) | ||
and extend the existing testing infrastructure to implement better testing for | ||
plugins like LabHub. | ||
|
||
## Configurability | ||
|
||
### Why make corobo more configurable? | ||
|
||
corobo has a potential to be used by other organizations for similar tasks like | ||
onboarding and automation. Currently, it is not configurable and many plugins | ||
are still very coala specific. Making it more configurable will allow other | ||
organizations to adapt corobo to cater their needs. | ||
|
||
### How to make corobo more configurable? | ||
|
||
By making existing coala specific plugins generic for other organizations we | ||
can ensure configurability. | ||
|
||
List of Plugins which are coala specific and can be generalized: | ||
|
||
1. `LabHub Plugin(invite, assign, unassign, mark wip|pending, pr_stats)` are | ||
meant to work for a specific team names like maintainers, developers, | ||
newcomers and coala repositories. | ||
|
||
2. `explain` uses hardcoded coala explainations. | ||
|
||
3. `coatils (contrib_stats)` shows stats of contributions made to coala. | ||
|
||
4. `searchdocs` currently API_DOCS and USER_DOCS links are constants for coala, | ||
we can make it generic by letting orgs setup their custom URL in config file. | ||
|
||
## New Features | ||
|
||
### Suggest newcomer issues | ||
|
||
``` | ||
> corobo suggest issues newcomer | ||
Here are some newcomer issues: | ||
coala/coala#5276 [Modify installing from git instructions] | ||
coala/coala-bears#2376 [Fix invalid language setting] | ||
coala/coala-quickstart#128 [add .DS_Store to .gitignore] | ||
coala/coala-bears#2326 [Add .pytest_cache to .gitignore] | ||
``` |