- Fork and clone this repository.
- Find an open issue that you find interesting. Go over to the Issues and look for active issues. Few things to keep in mind:
- Only issues labelled as gssoc20 are being monitored constantly. If you want to take up a different issue or suggest a new issue, get in touch with the mentors/project admin. They will certainly help you take it up. Follow the issue templates.
- Select the issue based on the level of difficulty. Look out for the beginner, easy, medium and hard labels.
- Take a look at this dummy issue that describes the procedure of interacting on an issue.
- Comment on the issue asking for any clarifications (Make sure you tag a mentor/project admin to notify them immediately).
- Comment on the issue with your approach of resolving it.
- Seek feedback from the mentor/project admin and ask them to assign the issue to you.
- After the issue is assigned to you, start working on it.
- Make changes and add meaningful commit messages (that describe the commit neatly).
- Complete all commits related to the issue.
- Perform quality checks locally in your cloned directory.
- Run following tests:
black --check .
flake8 . --count --select=E101,E722,E9,F4,F63,F7,F82,W191 --show-source --statistics
flake8 . --count --exit-zero --max-line-length=127 --statistics
- Change any files according to errors:
- For
psf/black
formatting errors, runningblack <file_name>
on the file you are working on will automatically remove formatting errors. Refer this site for editor integration ofpsf/black
, to avoid performing this step each time manually. - For
flake8
errors, look up the error code and try to solve it. If error persists, contact the mentors / project admin.
- For
- If changes are made in
chatbot.py
, it's mandatory to runpytest test_chatbot.py -v
and post the screenshot of the results with the raised PR.
- Run following tests:
- Testing your code locally for logical errors before raising a PR must be done by using
pytest -v --ignore test_chatbot.py
- Once tested locally with zero failed tests, raise a pull request with the title
<issue_title>\_resolved
over gssoc-master as the base branch. Do not raise the PR over the master branch, if the contribution is meant forGSSoC20
.- Refer to the dummy pull request that describes the correct procedure to raise a PR. Stick to the directions to make merging and reviewing easier and faster. Follow the PR template.
- Refer to the issue (
Fixes #<issue_number>
) - Write a clear description of changes made to resolve the issue.
- Tag a mentor/project admin to review the changes and merge the PR
- Repeat with a new issue!