Cleaning cache GitLab feature break runner's cache on filesystem because of illegal character
Summary
GitLab 10.4.0 come with new feature. Developer is able ti push a button on projects pipeline view to clean the cache. As I understood, it increment an internal counter and append this value to cache:key property.
But delimiter character is colon what is not allowed character on Windows file system (NTFS). Using shell-runner with local filesystem cache the build always complain with error message in start and end of job.
My original note on source code in GitLab project
Steps to reproduce
- use GitLab & runner in version 10.4.0
- register shell runner from Win7 machine (the 'cmd' shell)
- create small project with .gitlab-ci.yml with job that use cache on already registered runner
- fire the build and look to the runner output
Actual behavior
FATAL: open ..\..\..\..\..\cache\proj_group\project\my_job:7\archive_997062091: The filename, directory name, or volume label syntax is incorrect.
Expected behavior
Cache may be kept on local file system. May be use other character, just replace colon with dash? etc.
Relevant logs and/or screenshots
Environment description
Omnibus Gitlab 10.4.0 running in docker container & Win7 virtual machine
Used GitLab Runner version
Version: 10.4.0 Git revision: 857480b6 Git branch: 10-4-stable GO version: go1.8.5 Built: Mon, 22 Jan 2018 09:48:23 +0000 OS/Arch: windows/amd64