cloud-ark / kubeplus

Kubernetes Operator for multi-instance multi-tenancy
https://cloudark.io/
Apache License 2.0
654 stars 78 forks source link

Setup CI using GitHub actions #1223

Closed devdattakulkarni closed 3 months ago

devdattakulkarni commented 5 months ago

We want to set up continuous integration using GitHub actions.

We have a test suite available under the tests folder. There are two test scripts/harnesses in it - tests.sh and tests.py. tests.py is the newer test harness. Both assume that a k8s cluster has been created first.

As part of this work, we want to tackle a couple of things:

  1. Make sure that tests.sh and tests.py are up-to-date with the features currently available in KubePlus.
  2. Try to consolidate tests.sh and tests.py. tests.sh was created when we created CI setup in Travis. Check if that is still working.
  3. Write a GitHub action to run the tests on every PR made to the repo. The GitHub action should first spin up minikube, then set up KubePlus on it, and then run tests. The GitHub actions should report the status of the test run on the PR. The logs of the run should also be included in the report.
devdattakulkarni commented 4 months ago

Check how to use Minikube with Github actions: https://minikube.sigs.k8s.io/docs/tutorials/setup_minikube_in_github_actions/

devdattakulkarni commented 3 months ago

Completed as part of #1291