Contribution Guide

What should I do before I get started?

You need to go through few steps to get the ball rolling. But no worries, it is pretty straightforward.

Accounts

First of all, you need accounts for:

  • Github account, some of you might already have one. If not, you can go to github and register a free user account in 2 minutes.

Note

If you are working for a company and the work you are going to contribute is in the name of the company, please register your account using company email address.

  • Eclipse account, since Kiso-testing is an Eclipse project

(full name: Eclipse Kiso-testing), you need an Eclipse account. Go to https://accounts.eclipse.org/user/register to register one for free.

After a successful registration, you need to hook up your github account with Eclipse account. Login in Eclipse foundation website and go to ‘Edit My Profile’ where you can bind your github account information.

ECA signing

ECA stands for ‘Eclipse Contributor Agreement’, which is a prerequisite to become a contributor. No paper work needed, go to https://www.eclipse.org/legal/ECA.php , read it carefully and follow its instruction to sign.

DCO signing

DCO stand for “Developer’s Certificate of Origin”, which you will encounter as part of ECA signing process. It is highly recommended that you read it, while you as a developer might overlook the legal consequences if the way you contribute does not follow certain rules and regulations.

License

License is one of the few first things people would think of, when they use or develop an open source project. Eclipse Kiso is and will be developed under the EPL v2.0 license from Eclipse foundation. Of course this exclude 3rd party source code.

EPL v2.0 is available under https://www.eclipse.org/legal/epl-2.0/ . You need read it carefully before using Kiso-testing or developing on Kiso-testing and make sure that you understand your rights and obligations.

Any contributions to Kiso-testing project code base needs to be licensed under EPL v2.0.

Contributor Setup

Requirements

  • Python 3.6+

  • pipenv (used to get the rest of the requirements)

Install

git clone https://dev-bosch.com/bitbucket/scm/pea/integration-test-framework.git
cd integration-test-framework
pipenv install --dev
pipenv shell

Pre-Commit

To improve code-quality, a configuration of pre-commit hooks are available. The following pre-commit hooks are used:

  • black

  • trailing-whitespace

  • end-of-file-fixer

  • check-docstring-first

  • check-json

  • check-added-large-files

  • check-yaml

  • debug-statements

If you don’t have pre-commit installed, you can get it using pip:

pip install pre-commit

Start using the hooks with

pre-commit install

Demo using example config

invoke run

Running the Tests

invoke test

or

pytest

Building the Docs

invoke docs