Welcome to Couler's contributing guide!
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
You can execute all the unit tests via the following command:
python setup.py install
python -m pytest
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
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
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.
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.