Closed valeriocos closed 4 years ago
Hello mentors! I am Abid Abdullah a CS undergrad at BITS-Hyderabad. I am going through the microtasks now. I have college and industrial experience in python and pandas. I would like to work on this project and had a few queries:
Hi @snack0verflow, it's great that you want to work on this idea! Thanks
The IRC channel is #grimoirelab at Freenode
, you can find more details here. I would suggest to use issues as first option to engage conversations with the community. Thus, everybody will benefit of the discussions.
No, however note that Microtask 9 and 10 are quite open, so you can use them to work on whatever you like. If you have ideas in mind, we can brainstorm on them and see how to convert them to pull requests.
@valeriocos I want to increase the code coverage of some tests at https://github.com/chaoss/grimoirelab-elk/tree/master/grimoire_elk/enriched Is there any tool/dataset that can get me file-wise code coverage of these tests so I can easily target what test files to work on? I couldn't find you on #grimoirelab channel on IRC(Freenode) so I asked my query here.
One more query: Is docker required for running SirMordred? The pycharm part of the documentaion at https://github.com/chaoss/grimoirelab-sirmordred#setting-up-a-pycharm-dev-environment ,isn't clear. The last image doesn't show the parameters field entirely.
Hi @snack0verflow , find below the answer for https://github.com/chaoss/grimoirelab/issues/285#issuecomment-586558634
If you want to execute mordred with docker, you should follow the instructions at https://github.com/chaoss/grimoirelab#using-docker-run. However in this case, you won't be able to easily use the latest changes in the master branches of the grimoirelab repos (or test your changes).
The instructions at https://github.com/chaoss/grimoirelab-sirmordred#source-code-and-docker rely on a docker compose containing elasticsearch, kibiter and optionally mariadb. Once you have the containers running, you can fork the grimoirelab repos as documented at: https://github.com/chaoss/grimoirelab-sirmordred#setting-up-a-pycharm-dev-environment. Then, you can execute micro-mordred (details at: https://github.com/chaoss/grimoirelab-sirmordred#micro-mordred) on the master branches or on your branches [+].
The pycharm part of the documentaion at https://github.com/chaoss/grimoirelab-sirmordred#setting-up-a-pycharm-dev-environment ,isn't clear. The last image doesn't show the parameters field entirely.
The parameters you see there are the ones for micro-mordred, examples of such params are at the end of the section https://github.com/chaoss/grimoirelab-sirmordred#micro-mordred
[+] To test your branches, you have just to access the local copy of the repo you want to modify, do a git checkout to a new branch, apply your changes and execute micro-mordred on that new branch.
Don't hesitate to write if something isn't clear.
@snack0verflow find below the answer for https://github.com/chaoss/grimoirelab/issues/285#issuecomment-586555523.
Nice catch! The doc misses this info, I'm going to upload a PR to the ELK repo with the details to run the tests and coverage. I'll ping you soon, thanks
@valeriocos Let me rephrase my question about docker: Is it possible to execute mordred without docker?
Yes, you can! Mordred can be executed in the following ways:
Only source code You need to install ElasticSearch, Kibiter and MySQL (more details about the specific versions to install are at https://github.com/chaoss/grimoirelab-sirmordred#source-code) plus you need to fork and clone all GrimoireLab repos (details https://github.com/chaoss/grimoirelab-sirmordred#setting-up-a-pycharm-dev-environment)
Source code and docker containers You rely on the docker-compose at https://github.com/chaoss/grimoirelab-sirmordred#source-code-and-docker to install ElasticSearch, Kibiter and optionally MariaDB. The GrimoireLab repos are forked and cloned as commented above. The advantage of this solution is that you get rid of all possible problems you may face when installing ElasticSearch, Kibiter and MySQL. You just focus on GrimoireLab code.
Only docker containers You rely on the instructions at https://github.com/chaoss/grimoirelab#using-docker-run or https://github.com/chaoss/grimoirelab#using-docker-compose to run GrimoireLab using docker or docker compose. These solutions are good for end-users that want to play with GrimoireLab, but don't plan to develop on it.
Does it answer your question @snack0verflow? Why you don't want to use docker?
Thanks for the comprehensive answer @valeriocos ! The second method looks efficient. I was a bit apprehensive about it because I haven't tried containerization before. Now that you mention, I will surely check it out.
you're welcome @snack0verflow
@valeriocos
I have set up a dev environment in Pycharm by opening the project ~/sources/grimoirelab-sirmordered
but when I run ~/sources/grimoirelab-sirmordred/utils$ python3 micro.py --raw --enrich --cfg ./setup.cfg --backends git cocom
I get the following error:
Traceback (most recent call last): File "micro.py", line 27, in
from sirmordred.config import Config ModuleNotFoundError: No module named 'sirmordred'
I have forked and cloned https://github.com/chaoss/grimoirelab-sirmordred into ~/sources/grimoirelab-sirmordred/
. Is this okay or the directory should be called ~/sources/sirmordred/
?
I have installed all the requirements as mentioned in ~/sources/grimoirelab-sirmordred/requirements.txt
except grimoirelab ones. For grimoirelab dependencies I added the forked/cloned repos(already present in ~/sources/
) to the project structure as mentioned in https://github.com/chaoss/grimoirelab-sirmordred#setting-up-a-pycharm-dev-environment
EDIT: It worked after creating a pycharm configuration but not working from pycharm terminal. Something to do with PYTHONPATH?
@valeriocos I am facing two issues right now:
docker-compose.yml
specified in https://github.com/chaoss/grimoirelab-sirmordred#source-code-and-docker but Kibiter(http://localhost:5601/) is refusing to connect. Elasticsearch(http://localhost:9200/) is connecting fine. I then installed and ran Kibana(Kibiter was showing syntax error) and Elasticsearch manually(7.6.0), edited the docker-compose.yml
to only run maria-db but it still didn't work. micro-mordred gave:Retrying (Retry(total=20, connect=21, read=8, redirect=5, status=None)) after connection broken by 'SSLError(SSLError(1, '[SSL: WRONG_VERSION_NUMBER] wrong version number (_ssl.c:852)'),)': /
setup.cfg
in https://github.com/chaoss/grimoirelab-sirmordred/tree/master/utils has an error(?) in the sortinghat section. On running micro-mordred I get:Traceback (most recent call last): File "/home/abid/sources/grimoirelab-sirmordred/utils/micro.py", line 220, in
args.panels) File "/home/abid/sources/grimoirelab-sirmordred/utils/micro.py", line 52, in micro_mordred config = Config(cfg_path) File "/home/abid/sources/grimoirelab-sirmordred/sirmordred/config.py", line 60, in init self.read_conf_files() File "/home/abid/sources/grimoirelab-sirmordred/sirmordred/config.py", line 704, in read_conf_files self.check_config(self.conf) File "/home/abid/sources/grimoirelab-sirmordred/sirmordred/config.py", line 612, in check_config raise RuntimeError("Wrong section param:", section, param) RuntimeError: ('Wrong section param:', 'sortinghat', 'bots_names')
@snack0verflow thanks for your interested in GrimoireLab!
I ran docker-compose with the docker-compose.yml specified in ...
The docker-compose there is using a secured connection, please try to connect to:
Let me know if this solves your issue
The setup.cfg in https://github.com/chaoss/grimoirelab-sirmordred/tree/ma...
Can you submit a PR to sirmordred. The fix should remove lines 57 and 58 of the https://github.com/chaoss/grimoirelab-sirmordred/blob/master/utils/setup.cfg?
Thanks
@valeriocos At some point I installed mariadb https://chaoss.github.io/grimoirelab-tutorial/basics/supporting.html#installing-mariadb after which docker compose stopped working:
Creating docker-containers_mariadb_1 ... error ERROR: for docker-containers_mariadb_1 Cannot start service mariadb: driver failed programming external connectivity on endpoint docker-containers_mariadb_1 (01f169060b50956fe61d0b3f8c570659bdc9065b91eee3bc0b0bab0c25a08f83): Error starting userland proxy: listen tcp 0.0.0.0:3306: bind: addresCreating docker-containers_elasticsearch_1 ... error WARNING: Host is already in use by another container
I then uninstalled mariadb like this https://askubuntu.com/a/806441 Now docker-compose is not showing error but neither kibiter nor elastisearch are working, with or without https.
Then I tried running everything without docker-compose installed everything, kibiter and elastisearch were running. But micro-mordred gave:
Retrying (Retry(total=20, connect=21, read=8, redirect=5, status=None)) after connection broken by 'SSLError(SSLError(1, '[SSL: WRONG_VERSION_NUMBER] wrong version number (_ssl.c:852)'),)': /
Can you submit a PR to sirmordred. The fix should remove lines 57 and 58 of the https://github.com/chaoss/grimoirelab-sirmordred/blob/master/utils/setup.cfg?
@valeriocos I want to be sure that the problem is not with my setup. So I'll wait till I get the dependencies working.
https://github.com/chaoss/grimoirelab/issues/285#issuecomment-588394605
I'll be on IRC today, so we can have a look at this together
https://github.com/chaoss/grimoirelab/issues/285#issuecomment-588648419
As you prefer.
Hi @snack0verflow
Then I tried running everything without docker-compose installed everything, kibiter and elastisearch were running. But micro-mordred gave:
Retrying (Retry(total=20, connect=21, read=8, redirect=5, status=None)) after connection broken by 'SSLError(SSLError(1, '[SSL: WRONG_VERSION_NUMBER] wrong version number (_ssl.c:852)'),)': /
I am not sure about the exact reason, but please have a check with this. Make sure you have the same version of kibiter and elasticsearch.
I just saw in the #285 comment, that you installed elasticsearch (v7.6.0). It might give an error if the version of kibiter is not the same. Refer to this, in case of any doubt chaoss/grimoirelab-kibiter.
@vchrombie I am sure the versions of kibana and elasticsearch are matched(both are 7.6.0). I have messed up my MySQL installation.
For all students interested in this idea, please comment on this issue to get in touch with the mentors. This is the main communication channel.
@valeriocos I finally started with a fresh install of linux but I am not able to run elasticsearch/kibiter via docker-compose method. I have cloned the repos in ~/sources/grimoirelab-...
and my yml file is at ~/Containers/docker-compose.yml
. This is the console output:
~/Containers/$ sudo docker-compose up -d
Creating mordred_elasticsearch_1 ... done
Creating mordred_mariadb_1 ... done
Creating mordred_kibiter_1 ... done
Please help. Thanks :)
That's a good news @snack0verflow ! Now you can use micro-mordred to start playing with the platform (https://github.com/chaoss/grimoirelab-sirmordred#micro-mordred). Please have a look also at the sirmordred documentation (https://github.com/chaoss/grimoirelab-sirmordred#sirmordred-) to have a first understanding of the configuration files (i.e., setup.cfg and projects.json) used by the platform.
Please remember to submit a PR to remove lines 57 and 58 from https://github.com/chaoss/grimoirelab-sirmordred/blob/master/utils/setup.cfg
Thanks!
@valeriocos maybe you misread my comment :smile_cat: I meant to say it is not working.
When I run docker-compose for the first time, it is pulling the more recent versions of elasticsearch/kibiter which might cause version mismatch. Could you please check if it is working for you?
sorry @snack0verflow ! from the output you posted, I understood that you had something working.
I am not able to run elasticsearch/kibiter via docker-compose method
Do you have some logs or can you summarize why you cannot use the docker-compose?
Are you using the docker-compose at https://github.com/chaoss/grimoirelab-sirmordred#source-code-and-docker ?
@valeriocos I ran docker-compose without -d and got this and a bunch of other stuff.
Starting mordred_kibiter_1 ... done
Attaching to mordred_elasticsearch_1, mordred_mariadb_1, mordred_kibiter_1
kibiter_1 | error: ELASTICSEARCH_USER or/and ELASTICSEARCH_PASSWORD environment variables were not configured
kibiter_1 | these two docker environment variables must be configured before running the container
Are you using the docker-compose at https://github.com/chaoss/grimoirelab-sirmordred#source-code-and-docker ?
Yes
@valeriocos Here is the verbose output.
@valeriocos I tried running docker-compose on other systems as well and I am running into the same problem :disappointed: . Could you please provide detailed steps on how to run docker-compose? Thanks :)
@valeriocos I ran docker-compose without -d and got this and a bunch of other stuff.
Starting mordred_kibiter_1 ... done Attaching to mordred_elasticsearch_1, mordred_mariadb_1, mordred_kibiter_1 kibiter_1 | error: ELASTICSEARCH_USER or/and ELASTICSEARCH_PASSWORD environment variables were not configured kibiter_1 | these two docker environment variables must be configured before running the container
Thank you @snack0verflow for the logs!
I'm investigating the error error: ELASTICSEARCH_USER or/and ELASTICSEARCH_PASSWORD environment variables were not configured
. I'm using the same docker-compose, but I've never seen this error.
In the logs I see the following:
[36melasticsearch_1 |[0m [1]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
Please try to increase the virtual memory of ElasticSearch with this command (more info at here):
sysctl -w vm.max_map_count=262144
@valeriocos elasticsearch is working on https://localhost:9200/ when I did sysctl -w vm.max_map_count=262144
but kibiter is still not working.
@valeriocos @snack0verflow I was running into the same problem so I tried adding the username and password env variables to the docker compose file so that it now looks like:
elasticsearch:
restart: on-failure:5
image: bitergia/elasticsearch:6.1.0-secured
command: elasticsearch -Enetwork.bind_host=0.0.0.0 -Ehttp.max_content_length=2000mb
environment:
- ES_JAVA_OPTS=-Xms2g -Xmx2g
ports:
- 9200:9200
kibiter:
restart: on-failure:5
image: bitergia/kibiter:secured-v6.1.4-5
environment:
- PROJECT_NAME=Development
- NODE_OPTIONS=--max-old-space-size=1000
- ELASTICSEARCH_URL=https://elasticsearch:9200/
- ELASTICSEARCH_USER=elastic
- ELASTICSEARCH_PASSWORD=changeme
links:
- elasticsearch
ports:
- 5601:5601
Kibiter still fails to connect to elasticsearch (though idk why since these are the default credentials) but it at least starts now.
@Syn3rman Thanks a lot. Just setting the environment variables in the yml file worked for me.
@valeriocos after I run micro-mordred from pycharm I get this on Kibana I hope its working fine:
I'm still getting Authentication finally failed for elastic
. @snack0verflow could you confirm if you are using the same docker-compose file I've posted above?
Thanks :)
@Syn3rman No, I'm using the one specified at https://github.com/chaoss/grimoirelab-sirmordred#source-code-and-docker with the following two lines added to the kibiter environment:
- ELASTICSEARCH_USER=admin
- ELASTICSEARCH_PASSWORD=admin
@valeriocos Should I open a pr adding the two fields to the docker file? I think it would be a good place for me to start contributing (provided the change is needed :) )
Thank you @Syn3rman and @snack0verflow to spend time on the docker-compose issue! I'm trying to replicate this behavior on my machine, to confirm the problem. Once confirmed, I'll be absolutely happy if you can submit a PR :)
I did a docker system prune -a --volumes
to remove all containers/images/volumens and I'm now trying a fresh installation
https://github.com/chaoss/grimoirelab/issues/285#issuecomment-590050229
The screenshot looks good, however the default index pattern isn't set. Which commands did you run with micro-mordred?
@valeriocos I used these parameters
--raw --enrich --cfg ./setup.cfg --backends git cocom
I did not use --panels option
https://github.com/chaoss/grimoirelab/issues/285#issuecomment-590058570
Ok @snack0verflow , in this case the screenshot makes sense. Thanks for the quick reply.
Did you have any problem to execute cocom
?
@valeriocos Not then, but now when I run with the same params I get this error:
Error feeding raw from cocom (https://github.com/chaoss/grimoirelab-toolkit): [Errno 2] No such file or directory: 'cloc': 'cloc'
Traceback (most recent call last):
File "/home/abid/sources/grimoirelab-elk/grimoire_elk/elk.py", line 228, in feed_backend
ocean_backend.feed(**params)
File "/home/abid/sources/grimoirelab-elk/grimoire_elk/raw/elastic.py", line 234, in feed
self.feed_items(items)
File "/home/abid/sources/grimoirelab-elk/grimoire_elk/raw/elastic.py", line 250, in feed_items
for item in items:
File "/home/abid/sources/grimoirelab-perceval/perceval/backend.py", line 221, in fetch
for item in self.fetch_items(category, **kwargs):
File "/home/abid/sources/grimoirelab-graal/graal/graal.py", line 192, in fetch_items
raise e
File "/home/abid/sources/grimoirelab-graal/graal/graal.py", line 185, in fetch_items
commit['analysis'] = self._analyze(commit)
File "/home/abid/sources/grimoirelab-graal/graal/backends/core/cocom.py", line 209, in _analyze
file_info = self.analyzer.analyze(local_path)
File "/home/abid/sources/grimoirelab-graal/graal/backends/core/cocom.py", line 269, in analyze
cloc_analysis = self.cloc.analyze(**kwargs)
File "/home/abid/sources/grimoirelab-graal/graal/backends/core/analyzers/cloc.py", line 121, in analyze
message = subprocess.check_output(cloc_command).decode("utf-8")
File "/usr/lib/python3.6/subprocess.py", line 356, in check_output
**kwargs).stdout
File "/usr/lib/python3.6/subprocess.py", line 423, in run
with Popen(*popenargs, **kwargs) as process:
File "/usr/lib/python3.6/subprocess.py", line 729, in __init__
restore_signals, start_new_session)
File "/usr/lib/python3.6/subprocess.py", line 1364, in _execute_child
raise child_exception_type(errno_num, err_msg, err_filename)
FileNotFoundError: [Errno 2] No such file or directory: 'cloc': 'cloc'
https://github.com/chaoss/grimoirelab/issues/285#issuecomment-590059323
@snack0verflow you need to install cloc, see here the steps: https://github.com/chaoss/grimoirelab-graal#how-to-installcreate-the-executables
you need to install cloc, see here the steps: https://github.com/chaoss/grimoirelab-graal#how-to-installcreate-the-executables
@valeriocos Should this be mentioned in mordred readme?
Also I got this error while running micro-mordred now(and last time also when I got the cloc error):
2020-02-23 17:07:43,693 GET https://localhost:9200/git_chaoss/_search?scroll=300m&size=500 [status:400 request:0.005s] 2020-02-23 17:07:43,693 [git] Problem executing study enrich_areas_of_code:git, RequestError(400, 'search_phase_execution_exception', 'No mapping found for [metadata__timestamp] in order to sort on') 2020-02-23 17:07:43,693 RequestError(400, 'search_phase_execution_exception', 'No mapping found for [metadata__timestamp] in order to sort on')
After this kibiter shows only cocom_chaoss
as an index.
@valeriocos Should this be mentioned in mordred readme?
Good idea @snack0verflow ! Could you add a section about cocom at https://github.com/chaoss/grimoirelab-sirmordred#supported-data-sources? The new section should be similar to the other ones, thus it should contain an example of setup.cfg and projects.json (you can take the example from https://github.com/chaoss/grimoirelab/tree/master/third-party#preparation). At the beginning of this section, you mention that some executables are needed and add a link to Graal.
WDYT?
Also I got this error while running micro-mordred now:
The error is due to the fact the index is empty. An index for git data can be empty when the local clone of the repository you are analyzing is in sync with the upstream repo, thus there are no new commits to ingest to grimoirelab. The solution is either
Find below some extra details to better understand this behavior.
The Git backend of perceval performs a clone of the repository and keeps the local copy in sync with the upstream one. This clone is then used to ingest the commits data to grimoirelab.
Grimoirelab periodically collects data from different data sources (in this specific case, a git repository) in an incremental way. A typical execution of grimoirelab for a git repository consists of ingesting only the new commits to the platform. These commits are obtained by comparing the local copy with the upstream one, thus if the two repos are syncronized no commits are returned.
In case you want to extract all commits (even if you have already a local clone), you can disable the param latest-items
. Anothe option is to delete the local clone (which is stored at ~/.perceval/repositories
), thus the platform will clone the repo again and extract all commits.
Let me know if the explanation isn't clear or you need further clarifications.
@snack0verflow @Syn3rman I was able to replicate the problem you reported about the docker-compose (https://github.com/chaoss/grimoirelab/issues/285#issuecomment-589990729).
At very beginning I wasn't able to reproduce it because my docker compose was using a different image of kibiter (bitergia/kibiter:secured-v6.1.4-2
), which didn't need the params ELASTICSEARCH_USER
and ELASTICSEARCH_PASSWORD
.
Since @snack0verflow will be probably prepare a PR for this: https://github.com/chaoss/grimoirelab/issues/285#issuecomment-590061923, @Syn3rman can you submit a PR to update the docker-compose at https://github.com/chaoss/grimoirelab-sirmordred#source-code-and-docker? You can rely on the info at https://github.com/chaoss/grimoirelab/blob/master/docker-compose/docker-compose-secured.yml#L34.
Thanks
Thanks a lot @valeriocos. I will prepare a pull request for enhancing the readme with cocom info. Also, I would request @Syn3rman to make https://github.com/chaoss/grimoirelab-sirmordred#source-code-and-docker a little bit more descriptive to help newcomers. Thanks again :)
Sorry for the hold-up, but I'll get right at it.
Hello Mentors, I am Kshitij Gupta, a CS undergraduate from BITS PILANI. I would love to work on this project, I have quite a good experience in Python and Pandas. I am starting off with the microtasks and I will update my progress here.
@kshitij3199! Thanks for your interest in this idea. Let us know if you have any questions.
@valeriocos I had a query, while enriching the raw indexes created by Perceval, how does ELK add additional data like Time to merge pull requests that are not available via Perceval? Specifically from where does this information come. I know about the SortingHat and Graal part but time to merge/close puzzles me.
This is done during the enrichment phase.
ELK feeds the Perceval items to elasticsearch using this function: https://github.com/chaoss/grimoirelab-elk/blob/master/grimoire_elk/elk.py#L49 (collection phase). Then, it reads from the raw indexes this data again and creates the enriched data using this function: https://github.com/chaoss/grimoirelab-elk/blob/master/grimoire_elk/elk.py#L410 (enrichment phase). ELK has an enricher for each data source. In the case of github, the enricher is https://github.com/chaoss/grimoirelab-elk/blob/master/grimoire_elk/enriched/github.py, and in particular the time to merge is added here: https://github.com/chaoss/grimoirelab-elk/blob/master/grimoire_elk/enriched/github.py#L511
Does the explanation above answer your question?
@valeriocos Oh, It seems that time to merge is being calculated based on review comments by other users: https://github.com/chaoss/grimoirelab-elk/blob/13982d4024ffcaf2d0e42a26194ec4725619fed8/grimoire_elk/enriched/github.py#L181 But I think review comments can also ask for some changes by the creator of PR. It doesn't necessarily mean that the PR is being closed.(Please correct me if I am wrong)
@valeriocos I also had a suggestion: When looking at the coverage report generated for ELK test routines, I found that the report is generated for the tests as well, for example:
run_tests.py 6 0 100%
test_askbot.py 50 4 92% 106-109
test_bugzilla.py 54 4 93% 112-115
test_bugzillarest.py 71 4 94% 143-146
test_cocom.py 99 4 96% 156-159
test_colic.py 88 4 95% 146-149
test_confluence.py 67 4 94% 133-136
test_crates.py 51 4 92% 114-117
To prevent this we can use the config files for exclusion as mentioned in https://coverage.readthedocs.io/en/coverage-5.0.3/excluding.html
GrimoireLab allows to produce analytics with data extracted from more than 30 tools used for contributing to Open Source development such as version control systems, issue trackers and forums. A common execution of GrimoireLab consists in collecting data from a given repository, processing and enriching the data obtained and finally visualizing it on dynamic Web dashboards. At the core of this process there is a component called ELK, which is in charge of integrating the data finally shown on the dashboards.
The evolution of GrimoireLab requires now to reshape some of the functionalities provided by ELK to improve its maintainability. This project idea is about refactoring and redesigning the core of ELK using popular libraries for data management and processing such as elasticsearch-py and pandas.
The aims of the project are as follows:
The aims will require working with Python, ELK and the ElasticSearch database.
Microtasks
For becoming familiar with GrimoireLab, you can start by reading some documentation. You can find useful information at:
Once you're familiar with Grimoirelab, you can have a look at the following microtasks.
Microtask 0: Download PyCharm and get familiar with it (for instance, you can follow this tutorial).
Microtask 1: Set up Perceval to be executed from PyCharm.
Microtask 2: Create a Python script to execute Perceval via its Python interface using the Git and GitHub backends. Feel free to select any target repository.
Microtask 3: Based on the JSON documents produced by Perceval and its source code, try to answer the following questions:
timestamp
?updated_on
?origin
?category
?uuid
?search_fields
?data
of each JSON document produced by Perceval?Microtask 4: Set up a dev environment to work on GrimoireLab. Have a look to https://github.com/chaoss/grimoirelab-sirmordred#setting-up-a-pycharm-dev-environment.
Microtask 5: Execute micro-mordred to collect and enrich data from any Git repository.
Microtask 6: Execute micro-mordred to obtain data from the study
enrich_areas_of_code
for any Git repository.Microtask 7: Execute micro-mordred to collect and enrich data from any GitHub repository, making sure that no archives are created by Perceval.
Microtask 8: In your machine, run the tests for ELK within PyCharm. If you succeed, you can try to run the coverage package on the ELK tests and report the details of each file.
Microtask 9: Submit at least a PR to one of the GrimoireLab repositories to fix an issue, improve the documentation, etc.
Microtask 10: Submit a PR to ELK to increase the test coverage of one or more files located at https://github.com/chaoss/grimoirelab-elk/tree/master/grimoire_elk/enriched