Commit Graph

349 Commits

Author SHA1 Message Date
geoff evans
b7adbc6730 Support for running multiple projects within the same Iteration Profile build
* This will give us wider data collection to detect regressions in the cases where a single project has a blocking issue.

AutomationTool:
* Add support for appending semicolon delimited parameters into Options (to feed <ForEach/>)

Horde:
* Put project name into labels to isolate trends graph as builds are run on different projects

#jira none
#rb tbd

[CL 16318721 by geoff evans in ue5-main branch]
2021-05-13 16:53:24 -04:00
Ben Marsh
44d7a02d1d Add an explicit accessor for getting the path to the DotNet host.
[CL 16312643 by Ben Marsh in ue5-main branch]
2021-05-13 10:24:37 -04:00
Ben Marsh
fbba412e7b Fix path to DotNET executable.
[CL 16312463 by Ben Marsh in ue5-main branch]
2021-05-13 10:04:39 -04:00
aurel cordonnier
8eebe8841f Merge UE5/RET @ 16305968 to UE5/Main
This represents UE4/Main @ 16261013 and Dev-PerfTest @ 16259937

[CL 16306996 by aurel cordonnier in ue5-main branch]
2021-05-12 18:10:03 -04:00
Ben Marsh
f49990aaa0 BuildGraph: Add a task for executing DotNet commands.
[CL 16271288 by Ben Marsh in ue5-main branch]
2021-05-11 12:04:26 -04:00
Ben Marsh
25b44e2c2e Add a Kubectl task.
[CL 16249810 by Ben Marsh in ue5-main branch]
2021-05-10 12:03:08 -04:00
Ben Marsh
74a415cac9 Add a Helm task to allow updating releases.
[CL 16249773 by Ben Marsh in ue5-main branch]
2021-05-10 12:01:51 -04:00
Ben Marsh
f6f8beda42 Enable verbose output from Docker tasks by default.
[CL 16249754 by Ben Marsh in ue5-main branch]
2021-05-10 12:01:04 -04:00
Ben Marsh
803fa2e63d Prevent Docker password being logged to stdout.
[CL 16247915 by Ben Marsh in ue5-main branch]
2021-05-10 09:49:47 -04:00
Ryan Durand
ceacd78804 Build GitSync on Horde.
#rnx
#rb none
#jira none

[CL 16247562 by Ryan Durand in ue5-main branch]
2021-05-10 09:01:20 -04:00
Ryan Durand
604cecf460 Add a verbose option to DeleteTask to see what files and folders are being deleted.
#rnx
#rb none
#jira none

[CL 16183644 by Ryan Durand in ue5-main branch]
2021-05-03 09:45:50 -04:00
jonathan adamczewski
9b69a17dbc TempStorage.cs:
Remove some mono references.

#jira none
#trivial

[CL 16175220 by jonathan adamczewski in ue5-main branch]
2021-04-30 20:58:26 -04:00
aurel cordonnier
50944fd712 Merge UE5/RES @ 16162155 to UE5/Main
This represents UE4/Main @ 16130047 and Dev-PerfTest @ 16126156

[CL 16163576 by aurel cordonnier in ue5-main branch]
2021-04-29 19:32:06 -04:00
Ryan Durand
d95d6ddf00 Only try to delete folders if they exist.
#rnx
#rb none
#jira none

[CL 16161162 by Ryan Durand in ue5-main branch]
2021-04-29 15:59:44 -04:00
Ben Woodhouse
b0ec2a07ac CopyTask - optionally throw an error if files not found
#rb luke.thatcher
#jira UE-114025

[CL 16156542 by Ben Woodhouse in ue5-main branch]
2021-04-29 09:02:09 -04:00
Ben Marsh
ea34b09df3 BuildGraph: Add tasks for running Git and Docker, and add support for deleting directories from <Delete> tasks.
[CL 16144334 by Ben Marsh in ue5-main branch]
2021-04-28 11:27:19 -04:00
Ben Marsh
bc47b15e06 Merge utility library changes from GitSync.
[CL 16135807 by Ben Marsh in ue5-main branch]
2021-04-27 22:41:48 -04:00
jonathan adamczewski
17602ab008 Support two msbuilds, for NET Framework and Core
This is a preparatory change ahead of adding the ability to build NET Core projects to the CsCompile task, and subsequent conversion of NET Framework projects to NET Core. On its own, it should have no substantive visible effect.

#jira none

[CL 16008195 by jonathan adamczewski in ue5-main branch]
2021-04-14 13:24:20 -04:00
ben marsh
8563a90a7a BuildGraph: Ignore the PreflightChange argument, even if the BuildGraph script does not declare it as an option.
#rb none
#jira UE-112608

#ROBOMERGE-SOURCE: CL 15910076 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v786-15839533)

[CL 15910077 by ben marsh in ue5-main branch]
2021-04-03 15:52:26 -04:00
jonathan adamczewski
70ed64e369 Fix "Build Tools CS Mac" on Mac
RunUAT.sh:
Setup Mono environment on Mac and Linux so that AutomationTool is able to launch xbuild for CsCompile tasks that have not been transitioned to NET Core.
(Linux change is untested)

CsCompileTask.cs:
Don't add the "/restore" argument to command line when building using xbuild as it does not appear to be supported.

InstalledEngineBuild.xml:
Remove CsCompile invocations for UAT projects as these are currently not able to be compiled by UAT: CsCompile does not know how use the bundled dotnet to build NET Core projects, and [our bundled] mono does not support NET Core projects.

This file is consumed by AutomationTool, which is compiled by RunUAT.sh. As such, it can generally be assumed that the UAT build is up to date when the built files are consumed (InstalledEngineBuild.xml has directives to tag the AutomationTool files to ensure they are included.)

#jira UE-112471

[CL 15902338 by jonathan adamczewski in ue5-main branch]
2021-04-02 12:03:38 -04:00
Ryan Durand
10bcbb3b86 Harden code for finding shared file manifests.
#rnx
#rb none
#jira none

[CL 15860260 by Ryan Durand in ue5-main branch]
2021-03-30 08:58:10 -04:00
Ryan Durand
74a82706a9 Catch exceptions when scanning folders for folders that need to be deleted.
#rnx
#rb none
#jira none

[CL 15696383 by Ryan Durand in ue5-main branch]
2021-03-15 10:25:55 -04:00
Sebastien Lussier
102ce82546 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=Collaboration\Frosty\Frosty\Build\FrostyHLOD.xml -Target="HLOD Generation" -set:MapName=YourMapName -set:HLODBuilderCount=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


#fyi jeanfrancois.dube, richard.malo, vincent.beauchemin

[CL 15693777 by Sebastien Lussier in ue5-main branch]
2021-03-14 21:58:48 -04:00
ben marsh
ff498fd482 Fix incorrect hostname for PCB submit workspace.
#rb none
#rnx

#ROBOMERGE-SOURCE: CL 15685133 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v781-15675533)

[CL 15685153 by ben marsh in ue5-main branch]
2021-03-11 23:17:52 -04:00
ben marsh
d53e84576b Include a hash of the server address when creating a workspace for submitting binaries. Should fix issues with different edge servers being selected.
#rb none
#jira UE-109866

#ROBOMERGE-SOURCE: CL 15681548 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v781-15675533)

[CL 15684115 by ben marsh in ue5-main branch]
2021-03-11 21:31:36 -04:00