Skip to content

Latest commit

 

History

History
104 lines (67 loc) · 6.04 KB

CONTRIBUTING.md

File metadata and controls

104 lines (67 loc) · 6.04 KB

Introduction

Thank you for considering contributing to Kedro-Docker! We welcome contributions in the form of pull requests, issues or code reviews. You can add to code, or simply send us spelling and grammar fixes or extra tests. Contribute anything that you think improves the community for us all!

The following sections describe our vision and the contribution process.

Code of conduct

The Kedro team pledges to foster and maintain a welcoming and friendly community in all of our spaces. All members of our community are expected to follow our Code of Conduct, and we will do our best to enforce those principles and build a happy environment where everyone is treated with respect and dignity.

Get started

We use GitHub Issues to keep track of known bugs. We keep a close eye on them and try to make it clear when we have an internal fix in progress. Before reporting a new issue, please do your best to ensure your problem hasn't already been reported. If so, it's often better to just leave a comment on an existing issue, rather than create a new one. Old issues also can often include helpful tips and solutions to common problems.

If you are looking for help with your code, please consider posting a question on our Slack organisation. You can post your questions to the #questions or the #plugins-integrations channel. Past questions and discussions from our Slack organisation are accessible on Linen. In the interest of community engagement we also believe that help is much more valuable if it's shared publicly, so that more people can benefit from it.

If you have already checked the existing issues on GitHub and are still convinced that you have found odd or erroneous behaviour then please file a new issue. We have a template that helps you provide the necessary information we'll need in order to address your query.

Feature requests

Suggest a new feature

If you have new ideas for Kedro-Docker functionality then please open a GitHub issue with the label enhancement. Please describe in your own words the feature you would like to see, why you need it, and how it should work.

Contribute a new feature

If you're unsure where to begin contributing to Kedro-Docker, please start by looking through the good first issue and help wanted on GitHub.

Typically, small contributions to Kedro-Docker are more preferable due to an easier review process, but we accept any new features if they prove to be essential for the functioning of the plugin or if we believe that they are used by most projects.

Your first contribution

Working on your first pull request? You can learn how from these resources:

Guidelines

  • Aim for cross-platform compatibility on Windows, macOS and Linux
  • We use Anaconda as a preferred virtual environment
  • We use SemVer for versioning

Our code is designed to be compatible with Python 3.6 onwards and our style guidelines are (in cascading order):

def count_truthy(elements: List[Any]) -> int:
    return sum(1 for elem in elements if elem)

Note: We only accept contributions under the Apache 2.0 license, and you should have permission to share the submitted code.

Branching conventions

We use a branching model that helps us keep track of branches in a logical, consistent way. All branches should have the hyphen-separated convention of: <type-of-change>/<short-description-of-change> e.g. feature/awesome-new-feature

Types of changes Description
docs Changes to the documentation of the plugin
feature Non-breaking change which adds functionality
fix Non-breaking change which fixes an issue
tests Changes to project unit (tests/) and / or integration (features/) tests

Plugin contribution process

  1. Fork the project
  2. Develop your contribution in a new branch.
  3. Make sure all your commits are signed off by using -s flag with git commit.
  4. Open a PR against the main branch and sure that the PR title follows the Conventional Commits specs with the scope (docker).
  5. Make sure the CI builds are green (have a look at the section Running checks locally below)
  6. Update the PR according to the reviewer's comments

CI / CD and running checks locally

To run E2E tests you need to install the test requirements which includes behave, do this using the following command:

make plugin=kedro-docker install-test-requirements
make install-pre-commit

Running checks locally

All checks run by our CI / CD pipeline can be run locally on your computer.

Linting (ruff and black)

make plugin=kedro-docker lint

Unit tests, 100% coverage (pytest, pytest-cov)

make plugin=kedro-docker test

End-to-end tests (behave)

make plugin=kedro-docker e2e-tests