* Will prevent AWS buildmachines from holding an exclusive lock on actor files in case of a crash & if the Horde process doesn't cleanup checked out file properly (often the case)
* All p4 operations were temporary during those two steps those anyway
* Much faster setup step
The last step, -SubmitHLODs will obviously require source control to be enabled
#rb jeanfrancois.dube
#ROBOMERGE-OWNER: sebastien.lussier
#ROBOMERGE-AUTHOR: sebastien.lussier
#ROBOMERGE-SOURCE: CL 16365501 in //UE5/Private-Frosty/...
#ROBOMERGE-BOT: STARSHIP (Private-Frosty -> Main) (v804-16311228)
#ROBOMERGE-CONFLICT from-shelf
[CL 16370860 by sebastien lussier in ue5-main branch]
Recursively bundle pre-compiled AutomationTool binaries, based on the method used in InstalledEngineBuild.xml
(AutomationTool is pre-built before the script is run - there is no need to build it again)
#jira UE-114327
[CL 16119044 by jonathan adamczewski in ue5-main branch]
Added options for Linux to BuildAndTest and UE5 Horde templates for ShooterGame/QAGame for completeness.
#jira nojira
#rb swarm
#review-15847237 @jeff.farris, @yuriy.odonnell
[CL 15848178 by Andrew Grant in ue5-main branch]
Cleaned up some options around paths to make it easier for scripts to customize them.
Fixed issue with GDKBuilds in Gauntlet where the build source was ignoring the specified recursion depth when searching
#jira nojira
#rb jeff.farris
[CL 15780860 by Andrew Grant in ue5-main branch]
* Added options to generate/use a build manifest
* -BuildManifest=Filename.ini
* When calling with -SetupHLODs, provide "-BuildManifest=Filename.ini -BuilderCount=N" to have N workloads in the build manifest
* When calling with -BuildHLODs, provide "-BuildManifest=Filename.ini -BuilderIdx=i" to build workload i
Added UWorldPartitionBuilder::PreWorldInitialization()
Added support for distributed World Partition HLOD generation
* Runs multiple steps on different machines
* Setup: Done on a single machine, will create/update/delete HLOD actors as required. The distributed setup step takes a "BuilderCount" argument, which will be used to write a build manifest that specify the work that needs to be done by the N builders
* Build: Performed on multiple machines, read work to be done from the build manifest
* Submit: Final step, perform on a single machine. Gather files modified in all the previous steps and submit them in a single changelist
Intermediary files that are created/modified/deleted are transfered between the jobs as build products, and submitted in the last step.
To run with UAT:
RunUAT.bat BuildGraph -Script=Engine\Build\Graph\Examples\BuildWorldPartitionHLODs.xml -Target="HLOD Generation" -set:ProjectName=YourProjectName -set:EditorTarget=EditorTargetName -set:MapName=YourMapName -set:BuilderCount=N
To run steps individually:
* Setup (N = Builder count to use)
YourProject YourMapName -run=WorldPartitionBuilderCommandlet -SCCProvider=Perforce -AllowCommandletRendering -Builder=WorldPartitionHLODsBuilder -SetupHLODs -DistributedBuild -BuilderCount=N
* Build (i from 0 to N-1):
YourProject YourMapName -run=WorldPartitionBuilderCommandlet -SCCProvider=Perforce -AllowCommandletRendering -Builder=WorldPartitionHLODsBuilder -DistributedBuild -BuildHLODs -BuilderIdx=i
* Submit:
YourProject YourMapName -run=WorldPartitionBuilderCommandlet -SCCProvider=Perforce -AllowCommandletRendering -Builder=WorldPartitionHLODsBuilder -DistributedBuild -SubmitHLODs
Changes integrated from UE5 main:
#ushell-cherrypick of 15669199 by Sebastien.Lussier
#ushell-cherrypick of 15687351 by JeanFrancois.Dube
#ushell-cherrypick of 15693052 by Sebastien.Lussier
#ushell-cherrypick of 15693777 by Sebastien.Lussier
#ROBOMERGE-SOURCE: CL 15710613 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v781-15675533)
[CL 15710619 by sebastien lussier in ue5-main branch]
Added some missing platforms to BuildAndTestProject.xml
Added support for building different configs and MapIniSection
Updated ShooterGame, QAGame, and other build scripts
Exposed options to Horde UI
#jira #rb na
[CL 15685279 by Andrew Grant in ue5-main branch]