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