============ Contributing ============ Communication ~~~~~~~~~~~~~ * Join the `kubeinit Slack channel `__. Creating new roles automatically ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Adding roles into this project is easy and starts with a compatible skeleton. We will use the same role generation script from tripleo-ansible to automatically create new roles based in a pre-defined skeleton. From the repository root directory execute: .. code-block:: console ansible-playbook \ -i 'localhost,' \ role-addition.yml \ -e ansible_connection=local \ -e role_name=kubeinit-example .. note:: Please use only *kubeinit-rolename* words for defining the role name, for example, replace **kubeinit-example** with **kubeinit-bind**, **kubeinit-kubevirt**, or whatever the service name will be. This command will generate the role, initial molecule default tests, and the documentation stub. Linting new roles and code ~~~~~~~~~~~~~~~~~~~~~~~~~~ It is possible to run a lint check automatically before pushing code or pull requests. From the repository root directory execute: .. code-block:: console tox -e linters If the test pass all the executed tests should have succeeded. Linting commits ~~~~~~~~~~~~~~~ For every pull request is executed a syntax check, this is for multiple reasons. - Automatic generating of the changelog. - Simple navigation through git history (e.g. ignoring style changes). Format ------ .. code-block:: console : ^----^ ^----------------------^ | | | +-> Summary in present tense. | +-------> Type: chore, docs, feat, fix, refactor, style, test, build, ci, perf, and revert (always lowercase). ----> The commit's body.