What does this MR do?
Add a docker network for each build.
Why was this MR needed?
Docker links are deprecated in place of using networks. This also gives bidirectional communication between containers.
Are there points in the code the reviewer needs to double check?
It isn't finished!
You may want to run
docker network prune after running tests.
Delete networks after they are finished with.
Test that config.toml's network settings aren't overwritten
Add integration tests.
go test gitlab.com/gitlab-org/gitlab-ci-multi-runner/executors/dockerthere are many docker networks called build-0. I was expecting one, so it looks like docker.CreateNetwork can create many networks with the same name, but different IDs. Probably want to do a list networks before create to avoid this. Also change tests to use unique build IDs to keep them isolated if run in parallel.
Does this MR meet the acceptance criteria?
Added for this feature/bug
All builds are passing
Branch has no merge conflicts with
master(if you do - rebase it please)