Skip to content

Capital C is not considered as a valid disk for windows volumes

Summary

When you have a capital C as a drive the volume specification will fail to match.

This was also confirmed by another user in !1363 (comment 175836832)

Steps to reproduce

The .gitlab-ci.yml is not important here since it fails before the job is started.

Actual behavior

The job fails to start

Expected behavior

Job starts

Relevant logs and/or screenshots

job log
Running with gitlab-runner 11.12.0~beta.1532.g22b4c488 (22b4c488)
  on windows-docker-2019 vGvfck1g
Using Docker executor with image mcr.microsoft.com/windows/servercore:1809 ...
ERROR: Preparation failed: invalid volume specification: "C:\\builds"
Will be retried in 3s ...
Using Docker executor with image mcr.microsoft.com/windows/servercore:1809 ...
ERROR: Preparation failed: invalid volume specification: "C:\\builds"
Will be retried in 3s ...
Using Docker executor with image mcr.microsoft.com/windows/servercore:1809 ...
ERROR: Preparation failed: invalid volume specification: "C:\\builds"
Will be retried in 3s ...
ERROR: Job failed (system failure): invalid volume specification: "C:\\builds"

Environment description

config.toml contents
[[runners]]
  name = "windows-docker-2019"
  url = "http://192.168.1.79:3000/"
  token = "vGvfck1gu-S8EZNfx8iK"
  executor = "docker-windows"
  [runners.docker]
    tls_verify = false
    image = "alpine:3.9"
    privileged = false
    disable_entrypoint_overwrite = false
    oom_kill_disable = false
    disable_cache = false
    volumes = ["C:\\cache"]
    shm_size = 0
  [runners.cache]
    [runners.cache.s3]
    [runners.cache.gcs]

Used GitLab Runner version

Master branch

Possible fixes

Update https://gitlab.com/gitlab-org/gitlab-runner/blob/0634e6a5182f7c54b8849d76a2521bcc8a55b54e/executors/docker/internal/volumes/parser/windows_parser.go#L16-63