Draft: Run tests using shell executor, not docker
Overview
Adjusts the .test
job template, removing the dind
service and
adjusting the labels to select a node with the shell
executor rather
than the docker
executor.
At the time of opening this MR, this is a test whether running gitlab-qa in a geo scenario directly on a host rather than within DinD fixes the issues we're seeing: https://gitlab.com/gitlab-org/omnibus-gitlab/-/issues/5768.
This change includes a tag named shell
rather than docker
, regarding
the tags assigned to the Runner upon registration on the VM created for
this demo. This means a maintainer on the gitlab-qa team will need to
provide a runner registration from the settings section on the project
page so the runner can be registered before the related jobs can run.
Additional context
The tests currently run using docker-in-docker, using the services
key in GitLab CI to link the CI container with the dind
container. From what I've seen, DinD can misbehave and complicate workloads given that there's another level of 'containerization'. The services
key in GitLab CI (to my knowledge, someone please correct me if this is wrong) uses links. As you can tell from that documentation page, it's considered a legacy flag and may be removed in the future. That's one reason this MR could be a good change in general.
Additionally, running the tests directly on bare metal rather than within the context of another container has potential to increase performance of the tests. And of course, this approach is a little more 'boring', which we like here!