Prerequisite

Configuration

Test

:warning: In order to install tools (clusterctl, …) with makefile, you need to have installed golang to download binaries golang

Lint

Please use format to indent your go and yamlfile:

make format

Lint go :

make golint-ci
make vet

Lint shell:

make shellcheck

Lint yaml:

make yamllint

boilerplate:

make verify-boilerplate

Generate Mock

Please use if you want to mock functions described in cloud folder for unit test:

make mock-generate

Unit test

Please use if you want to launch unit test:

make unit-test

Yòu can look at code coverage with covers.txt and covers.html

Functional test

Please use if you want to launch functional test:

export OSC_ACCESS_KEY=<your-osc-acces-key>
export OSC_SECRET_KEY=<your-osc-secret-key>
export KUBECONFIG=<your-kubeconfig-path>
make testenv

E2e test

Please use if you want to launch feature e2etest:

export OSC_ACCESS_KEY=<your-osc-acces-key>
export OSC_SECRET_KEY=<your-osc-secret-key>
export KUBECONFIG=<your-kubeconfig-path>
export IMG=<your-image>
make e2etestexistingcluster

Please use if you want to launch upgrade/remediation e2etest (it will use kind):

export OSC_ACCESS_KEY=<your-osc-acces-key>
export OSC_SECRET_KEY=<your-osc-secret-key>
export OSC_REGION=<your-osc-region>
export IMG=<your-image>
make e2etestkind

Please use if you want to launch conformance e2etest (it will use kind):

export OSC_ACCESS_KEY=<your-osc-acces-key>
export OSC_SECRET_KEY=<your-osc-secret-key>
export OSC_REGION=<your-osc-region>
export KUBECONFIG=<your-kubeconfig-path>
export IMG=<your-image>
make e2econformance