Hi, I’m using Horde with build agents on AWS/EC2.
When I try to kick-off a build, it fails with:
D:\HordeWorkspace\<redacted>\Sync\Engine\Binaries\ThirdParty\DotNet\10.0\win-x64\sdk\10.0.203\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Publish.targets(372,5): error MSB3021: Unable to copy file "D:\HordeWorkspace\<redacted>\Sync\Engine\Source\Programs\Shared\EpicGames.Oodle\2.9.10\runtimes\linux-arm64\native\liboo2core.so" to "D:\HordeWorkspace\<redacted>\Sync\Engine\Binaries\DotNET\UnrealBuildTool\runtimes\linux-arm64\native\liboo2core.so". Access to the path 'D:\HordeWorkspace\<redacted>\Sync\Engine\Binaries\DotNET\UnrealBuildTool\runtimes\linux-arm64\native\liboo2core.so' is denied.
After a bit of digging, it looks as if the P4 workspace has the flags noallwrite and noclobber, and so the entire directory D:\HordeWorkspace\<redacted>is marked as read-only. Manually RDPing into the box and recursively marking the directory as writeable solves the issue, but this is not a feasible approach for large numbers of agents that may scaled up-or down on-demand.
The workspace sync is handled entirely by the horde agent when it registers with the Horde server. I cannot find any settings on the Horde-side to allowallwrite and clobberon its cloned down workspaces.
What am I doing wrong here?