I have a job which does the following:
- on the server, check out the source to a network drive.
- on a remote machine, launch the compilation step, which creates artifacts on the same network drive.
- back on the server, use the "Artifactory Artifacts" publish step type to upload the artifacts from the network drive.
When the remote machine is Windows, this works fine, but recently when trying this on unix we are getting this error from the publish step:
Can not find source directory for artifact deployment: /path-to-workspace/dev/.../release
That "release" directory does exist and is accessible from the server. However, experimentation shows that any attempt to trigger a step which has that location as its working directory fails with this error. However, if I precede that with a step that simply does "ls path-to-workspace", it works.
As an experiment I created a groovy step that does the following:
ls /path-to-workspace/dev/.../release
ls /path-to-workspace
ls /path-to-workspace/dev/.../release
The first 'ls' command returns nothing, but the last one shows the contents of the 'release' directory. So, it looks like QB is caching the old contents of the workspace and doesn't realize the other machine created a new directory until we run the 'ls' command.
This seems like a bug to me, can you look into it?