support for wildcard paths '**'
filepath.Glob is being used for interpreting
it's docs say that
* should match any non-seperator chars, so it should check only the current directory.
the cache output for linux also hides the fact that it's creating a empty cache which makes you believe that this is a windows only issue (only the second time you build on linux it'll show
WARNING: *.o: no matching files)
Creating cache build-linux... Created cache
while on windows those messages don't even appear, making it more obvious that the cache isn't being generated...
I see 2 ways of resolving this:
- Using a globber lib that is able to interpret
**(as filepath.Glob doesn't support that) and warn explicitly of
*usage, see this
- change the way in how processPaths() is scanning the filesystem to imitate the recursive usage (which might produce some unwanted side-effects if one is expecting
*to not go beyond the current folder)
Note: I'm fine with having to change
**.obj, just let me do it in some way.
I currently have to work around this by using the following snippet, which is quite ugly
paths: - "*.obj" - "*\*.obj" - "*\*\*.obj" - "*\*\*\*.obj" - "*\*\*\*\*.obj" - "*\*\*\*\*\*.obj"
Steps to reproduce
create a job which should cache all
.obj files, path will look like "*.obj"
Nothing is being cached, as the runner can't find any files in the current directory.
Cache all files ending with
Relevant logs and/or screenshots
Paste any relevant logs - please use code blocks (```) to format console output, logs, and code as it's very hard to read otherwise. Please paste both build log and Runner's log.
Custom runner on windows x64
Used GitLab Runner version
>"C:\Program Files\Gitlab-CI-Runner\gitlab-ci-runner.exe" --version Version: 9.3.0 Git revision: 3df822b Git branch: 9-3-stable GO version: go1.7.5 Built: Thu, 22 Jun 2017 10:57:49 +0000 OS/Arch: windows/amd64