I’ve added a config to check for changes in the Ugs source code path, that would build / deploy a new UGS versions.
So far so good, but strangely, the parameters passed in the project.stream.json files are either not applied, or just aren’t meant to be used the same way we can use them with the editor buildgraph.
As mentionned in the repro steps, I’ve added the params in the project.stream.json as follow :
- Set the required parameters asked in the Submission Node : In example, here is what’s in the project.stream.json file :
“id”: “UGS-build”,
“name”: “UGS Build”,
“description”: “Build and Deploy UGS if changes are detected in the sources”,
“Pool”: “UGS”,
“showUgsBadges”: false,
“arguments”: [
“-target=Publish Live With Zip”,
“-Script=Engine/Source/Programs/UnrealGameSync/BuildUGS.xml”,
“-set:InformationalVersion=5.5.$(Change)”,
“-set:SubmitToBranch=//DestinationBranch/…”,
“-set:SubmitToStream=//project/Stream”,
- “-set:HordeSettings=//PathTo/HordeSettings.json”
The perforce workspace is created, yet not hooked to the stream that could allow it to submit the newly build binaries, giving the following warning : warning: cannot submit from non-stream client to every files. I can confirm that the created workspace isn’t hooked on anything.
I compared with what’s found in BuildEditorAndTools.xml…
<Node Name=“Submit To Perforce For UGS” Requires=“Stage for UGS”>
<Property Name=“ArchivePerforceDir” Value=“$(RootDir)\LocalBuilds\ArchiveForUGS-Perforce”/>
<Property Name=“ArchiveFile” Value=“$(ArchivePerforceDir)\$(EscapedBranch)-$(ArchiveName).zip”/>
<Zip FromDir=“$(ArchiveStagingDir)” ZipFile=“$(ArchiveFile)”/>
<Warning Message=“The ‘ArchiveStream’ argument is not set. Binaries will not be submitted.” If=“‘$(ArchiveStream)’ == ‘’”/>
<Property Name=“SubmitClient” Value=“$(COMPUTERNAME)_ArchiveForUGS”/>
<Property Name=“SubmitClient” Value=“$(P4CLIENT)_ArchiveForUGS” If=“‘$(P4CLIENT)’ != ‘’”/>
<Submit Description=“[CL $(CodeChange)] Updated binaries” Files=“$(ArchiveFile)” FileType=“binary+FS32” Workspace=“$(SubmitClient)” Stream=“$(ArchiveStream)” RootDir=“$(ArchivePerforceDir)” Force=“$(ForceSubmit)” If=“‘$(ArchiveStream)’ != ‘’”/>
</Node>
The stream we set for Stream=“$(ArchiveStream)” will be used by the workspace created in the process… Wouldn’t it be the same for BuildUGS.xml?