E2E tests on the CI
There are three potential approaches for running E2E tests on the CI server.
Option one: using a test server
The server should periodically update before the tests will run
The server will need to reload test data
The server should be separate from the dev server
Pros
Easy to set up (similar to what we have currently)
Cons
Upkeep of the server
Option two: using a container registry
Deploy built containers to a registry
Download the containers in GitLab before starting the build (this happens with Redis & PSQL images currently)
Start the env, load the data, run the tests
Pros
Set up easy to replicate locally
Container registry can act as a source of through
Cons
Build more intensive
Option three: build everything in the UI build
When running the build, clone additional repositories (backend)
Build & spin-up everything in one build
Pros
No additional infrastructure required
Cons
Most intense, complex and time-consuming build
Most error-prone build