Skip to content

Contributing

# Contributing Guide

Welcome to Couler's contributing guide!

Install Dependencies

You can install all the dependent Python packages for development via the following:

python -m pip install --upgrade pip
python -m pip install -r requirements.txt -r requirements-dev.txt

Run Unit Tests

You can execute all the unit tests via the following command:

python setup.py install
python -m pytest

Run Integration Tests

The current integration test suite requires:

Star a k8s cluster using minikube:

minikube config set vm-driver docker
minikube config set kubernetes-version 1.18.3
minikube start

Install Argo Workflows:

kubectl create ns argo
kubectl apply -n argo -f https://raw.githubusercontent.com/argoproj/argo/v2.11.1/manifests/quick-start-minimal.yaml

Run the integration tests:

scripts/integration_tests.sh

Run Sanity Checks

We use pre-commit to check issues on code style and quality. For example, it runs black for automatic Python code formatting which should fix most of the issues automatically. You can execute the following command to run all the sanity checks:

pre-commit run --all

Run the Documentation Server

If you have modified the documentation, you may want to run the documentation server locally to preview the changes. Couler uses Material for MkDocs to build the documentation. You can run the following command to start a local documentation server:

mkdocs serve

This will start the documentation server on the port 8000 by default.

Sign the Contributor License Agreement (CLA)

If you haven't signed the CLA yet, @CLAassistant will notify you on your pull request. Then you can simply follow the provided instructions on the pull request and sign the CLA using your GitHub account.

For your convenience, the content of the CLA can be found here.