[core] Add integration tests to CI for lilypad
If anything at least a single test that can run a whole job to prevent regressions from being released.
We could also add a couple of processes to the cron server (when it is implemented) that trigger jobs every N and alert us if the job was not successful.
Tasks:
- [ ] Add GH action to run unit and integration tests on pull request to
main - [ ] Make sure integration tests use embedded configs
I was reading up on kind and it really surprised me how easily it could be used to setup a cluster for testing purposes - this is their claim too:
kind is a tool for running local Kubernetes clusters using Docker container “nodes”. kind was primarily designed for testing Kubernetes itself, but may be used for local development or CI.
Also Minikube looks like could be another good choice
@AquiGorka you also might want to have a look at docker swarms. https://docs.docker.com/engine/swarm/
Use Swarm mode if you intend to use Swarm as a production runtime environment.
Not sure if that would be what we want for a CI step
I've used minikube in the past, but looking into kind and doing some experiments yesterday - I think it's the way to go (and seems to have the community momentum as well).
Related, I'm starting to put together some helm charts to spin up various configurations: https://github.com/Lilypad-Tech/helm-charts
Scoped this issue to focus only on integration tests. We'll address unit tests here: https://github.com/Lilypad-Tech/lilypad/issues/279.