Service health check cannot be disabled

Summary

Setting wait_for_services_timeout = 0 in the [runners.docker] section in config.toml does not disable the service health check. This contradicts the documentation and leaves no way to disable the service health check.

Steps to reproduce

See summary.

.gitlab-ci.yml
E2E Tests:
  stage: E2E
  variables:
    SMTP_HOST: "mailhog"
    SMTP_PORT: "1025"
  services:
    - name: ${CI_REGISTRY_IMAGE}:${CI_COMMIT_SHORT_SHA}
      alias: app.***.com
    - name: $CI_REGISTRY/***/backend:production
      alias: api.***.com
    - name: mongo:3.4
    - name: mailhog/mailhog
      alias: mailhog
  script:
    - yarn install
    - yarn e2e:populate-production
    - yarn e2e:ci
  artifacts:
    name: "***_${CI_JOB_ID}"
    when: always
    paths:
      - e2e-report
  tags:
    - network

Actual behavior

The service health check is performed.

Expected behavior

The service health check should've been disabled.

Relevant logs and/or screenshots

job logs
[0KRunning with gitlab-runner 13.0.1 (21cb397c)
[0;m[0K  on network 1f32643d
[0;msection_start:1592305229:prepare_executor
[0K[0K[36;1mPreparing the "docker" executor[0;m
[0;m[0KUsing Docker executor with image *** ...
[0;m[0KStarting service ***/frontend:0c983ae2 ...
[0;m[0KAuthenticating with credentials from job payload (GitLab Registry)
[0;m[0KPulling docker image ***/frontend:0c983ae2 ...
[0;m[0KUsing docker image sha256:19dff01c6680873e544baf76c00101fb7e6b2cf8cdd64fa4c4136217dddd1a0f for ***/frontend:0c983ae2 ...
[0;m[0KStarting service ***/backend:production ...
[0;m[0KAuthenticating with credentials from job payload (GitLab Registry)
[0;m[0KPulling docker image ***/backend:production ...
[0;m[0KUsing docker image sha256:2442de4745e9d4fe3fa46a1278155b02a3e0da0c5ad53227c4950b6daf0c9edc for ***/backend:production ...
[0;m[0KStarting service mongo:3.4 ...
[0;m[0KPulling docker image mongo:3.4 ...
[0;m[0KUsing docker image sha256:f76f959b2a4947330df7b5878e81dc268f19f3fa4cef9d1ac8a992d2776eab73 for mongo:3.4 ...
[0;m[0KStarting service mailhog/mailhog:latest ...
[0;m[0KPulling docker image mailhog/mailhog:latest ...
[0;m[0KUsing docker image sha256:e00a21e210f9bb560913efa409ded5f7ed12601fda0adefdb9a73211f724b7e5 for mailhog/mailhog:latest ...
[0;m[0KWaiting for services to be up and running...
[0;m
[0;33m*** WARNING:[0;m Service runner-1f32643d-project-35-concurrent-0-ed242e63c625e598-mongo-2 probably didn't start properly.

Health check error:
service "runner-1f32643d-project-35-concurrent-0-ed242e63c625e598-mongo-2-wait-for-service" timeout

Health check container logs:


Service container logs:
***
[0;33m*********[0;m


[0;33m*** WARNING:[0;m Service runner-1f32643d-project-35-concurrent-0-ed242e63c625e598-mailhog__mailhog-3 probably didn't start properly.

Health check error:
service "runner-1f32643d-project-35-concurrent-0-ed242e63c625e598-mailhog__mailhog-3-wait-for-service" timeout

Health check container logs:


Service container logs:
2020-06-16T11:00:38.515833742Z 2020/06/16 11:00:38 Using in-memory storage
2020-06-16T11:00:38.516595630Z 2020/06/16 11:00:38 [SMTP] Binding to address: 0.0.0.0:1025
2020-06-16T11:00:38.516606936Z 2020/06/16 11:00:38 Serving under http://0.0.0.0:8025/
2020-06-16T11:00:38.515931528Z [HTTP] Binding to address: 0.0.0.0:8025
2020-06-16T11:00:38.517085248Z Creating API v1 with WebPath: 
2020-06-16T11:00:38.517781562Z Creating API v2 with WebPath:

[0;33m*********[0;m

[0KAuthenticating with credentials from job payload (GitLab Registry)
# docker ps | grep runner
ae71acfed9f7        36a096cc4e58                                                               "gitlab-runner-helpe…"   30 seconds ago      Up 29 seconds                                                                                                  runner-1f32643d-project-35-concurrent-0-ed242e63c625e598-mailhog__mailhog-3-wait-for-service
ddab72e08405        36a096cc4e58                                                               "gitlab-runner-helpe…"   30 seconds ago      Up 29 seconds                                                                                                  runner-1f32643d-project-35-concurrent-0-ed242e63c625e598-mongo-2-wait-for-service
57810761586a        e00a21e210f9                                                               "MailHog"                31 seconds ago      Up 30 seconds           1025/tcp, 8025/tcp                                                                     runner-1f32643d-project-35-concurrent-0-ed242e63c625e598-mailhog__mailhog-3
0451c139228d        f76f959b2a49                                                               "docker-entrypoint.s…"   32 seconds ago      Up 31 seconds           27017/tcp                                                                              runner-1f32643d-project-35-concurrent-0-ed242e63c625e598-mongo-2
0a2d517e8811        2442de4745e9                                                               "/usr/local/bin/entr…"   35 seconds ago      Up 34 seconds           80/tcp                                                                                 runner-1f32643d-project-35-concurrent-0-ed242e63c625e598-***__backend-1
64f28afd4edb        19dff01c6680                                                               "nginx -g 'daemon of…"   36 seconds ago      Up 35 seconds           80/tcp                                                                                 runner-1f32643d-project-35-concurrent-0-ed242e63c625e598-***__frontend-0

Environment description

config.toml contents
[[runners]]
  name = "network"
  url = "***"
  token = "***"
  executor = "docker"
  limit = 3
  [runners.docker]
    tls_verify = false
    image = "***"
    privileged = false
    disable_cache = false
    volumes = ["/cache"]
    shm_size = 2147483648
    hostname = "***"
    extra_hosts = ["***:127.0.0.1", "***:127.0.0.1"]
    wait_for_services_timeout = 0
    [runners.docker.tmpfs]
      "/tmp" = "rw,noexec,size=1g"
      "/run" = "rw,noexec,size=1g"
  [runners.cache]

Used GitLab Runner version

Version:      13.0.1
Git revision: 21cb397c
Git branch:   13-0-stable
GO version:   go1.13.8
Built:        2020-06-01T08:24:47+0000
OS/Arch:      linux/amd64

Possible fixes