Run e2e tests on GDK in master and in MRs
Background
When we run E2E tests in CI currently, we build and install GitLab before running the tests, either as an omnibus-gitlab install or as a Review App using the Helm chart. This can add an hour or more of a delay before the tests can start. Some options for speeding up that process are discussed in https://gitlab.com/gitlab-org/quality/team-tasks/-/issues/1276
In contrast, we use GDK in development and it takes only a few minutes to update and start.
We could also use GDK in CI to get faster feedback in MRs. For example, here's a demo running the smoke tests in 26 minutes: https://gitlab.com/gitlab-org/gitlab-qa/-/jobs/2713403311
Proposal
-
Add jobs to the appropriate projects (GDK/GitLab/Gitlab QA) to build the docker images needed. -
Add child pipeline gitlab-org/gitlab
to run the e2e tests.
Potential concerns
The prototype creates a 15gb image. We should reduce that as much as possible:
- Split the single image into multiple images that can build on existing images (e.g., GDK and GitLab QA images).
- Use a volume to mount the GitLab source into the container instead of pulling the repo.
- Optimize images to exclude temporary files from the final image.
Edited by Mark Lapierre