Contributing
You are more than welcome to contribute to the project in various ways:
Implement features
Fix bugs
Write tests
Write documentation
The following section describes the development workflow when contributing to the project.
Development Workflow
Step 1: Clone the project
Step 2: Install dependencies
$ make install
This step install necessary dependencies and creates a virtual environment (in .venv
directory).
Step 3: Activate virtual environment
$ source .venv/bin/activate
Step 4: Make changes
Step 5: Format changes
$ make format
This step formats the code with autoflake, isort, black, etc.
Step 6: Run tests (unit tests and integration tests)
$ make test
Alternatively, you can run unit tests and integration tests separately.
$ make test.py # <-- unit tests
$ make test.integration.ios # <-- integration tests (iOS)
Step 7: Commit changes and create pull requests
Conventions
Branch name
If creating branches on the main/original repo (when not using forks), please prefix the branch with your name such as chris/my_working_branch
. This way, we know to whom a branch belongs.
Commit message
It is good to reflect the type of the change in the commit message. Let’s use this simple convention as follows.
<CHANGE-TYPE>: <Summary of the change>
As follows are some examples of the commit message:
FEAT: Detect number of parallel runners
CHORE: Update default timeout of build jobs
FIX: Crashed tests are not detected
REFACTOR: Test retry logic
DOC: Update Contributing guidelines
Pull request (PR)
For PR title, let’s use the same convention with commit message.