Build and Run Tests (make) from Windows 10 fails due to posix+windows path generation issues
using today's latest git rev 8f8cbc34 829a2103 Date: Tue Sep 27 13:26:44 2016 +0000, gitlab-ci-multi-runner, when built on my Windows 10 machine fails at the test stage.
I am using an msys (mingwsys) bash/awk/find/make to run the Makefile, and a native Windows go binaries and libs built from go get.
make gets as far as the # Running tests...
and then fails. It's hard for me to tell apart an integration test with an intentional failure, as an outsider, from a real unit test failure, but given that the following looks to me like an integration test message, I'm assuming this is unintended (failure) case:
error: could not lock config file executors/shell/d:\dev\go\src\gitlab.com\gitlab-org\gitlab-ci-multi-runner\executors\shell\builds\0\gitlab-org\gitlab-test.tmp\git-template/config: No such file or directory
ERROR: Build failed: exit status 1
--- FAIL: TestShellBuildWithIndexLockPowershell (4.27s)
Location: executor_shell_test.go:150
Error: No error is expected but got exit status 1
Location: executor_shell_test.go:156
Error: No error is expected but got exit status 1
It looks to me like some posix/unix platform filename parts are mixed into windows path elements in the above. Ie: error: could not lock config file executors/shell/d:\dev\go\src\gitlab.com\gitlab-org\gitlab-ci-multi-runner\executors\shell\builds\0\gitlab-org\gitlab-test.tmp\git-template/config
: No such file or directory
My belief is that the gitlab-ci-multi-runner build should be possible to accomplish from a windows machine. If the tests can be run on Windows, so much the better. If I can figure this out, I'd be happy to submit a merge request but as a person new to the code, I thought I'd log this in case someone with more knowledge could point me in the right direction.
There is no documentation in the readme for the sources on "how to build on windows", only the fact that only a Makefile (that depends on awk and find, and other stuff) is there. A less obstinate developer than me would conclude that building on Windows is not possible. But no, I tried cygwin and mingw, and even WSL (ubuntu bash on windows10), and of those options, msys got me the farthest along. Other open source C libraries (like ffmpeg and others) often provide Makefiles and then leave the problem of "how is this supposed to build on windows?" up to each individual developer.
I almost wonder if an alternative to the Makefile, such as a Windows "wmake.ps1" powershell script would be a nice contribution to the project that perhaps I could make.