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.txtYou can execute all the unit tests via the following command:
python setup.py install
python -m pytestThe 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 startInstall Argo Workflows:
kubectl create ns argo
kubectl apply -n argo -f https://raw.githubusercontent.com/argoproj/argo/v2.11.1/manifests/quick-start-minimal.yamlRun the integration tests:
scripts/integration_tests.shWe 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 --allIf 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 serveThis 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.