Commit Graph

730 Commits

Author SHA1 Message Date
Francis Hurteau
c719a4680a Add commandline boilerplate to support optional cooking through UAT
#rb Matt.Peters
#jira UE-142231
#preflight none

[CL 19929815 by Francis Hurteau in ue5-main branch]
2022-04-26 17:52:04 -04:00
jonathan adamczewski
d4f03243e3 Remove various obsolete (deprecated) items in C# code
#jira none
#trivial
#rnx
#preflight 625a32bbde3638cefa4106cb

[CL 19786027 by jonathan adamczewski in ue5-main branch]
2022-04-18 11:27:53 -04:00
jonathan adamczewski
b6ac2aa225 BuildGraph: RunUAT via dotnet & AutomationTool.dll
#jira none
#rnx
#preflight 6259f6a7016074c111fa3d39

[CL 19778495 by jonathan adamczewski in ue5-main branch]
2022-04-15 19:03:08 -04:00
jonathan adamczewski
c12d99d854 .net6.0 is not supported in VS2019. Suppress warnings about that when using that IDE (with this change, when building UnrealBuildTool & AutomationTool)
#jira none
#rnx
#rb joe.kirchoff
#preflight 624f2c163c2aff69c54ff9eb

[CL 19675097 by jonathan adamczewski in ue5-main branch]
2022-04-07 15:06:02 -04:00
mitchell fisher
f039ee7b30 [FORT-465286] McpConfigHelper::Find() surfaces nested exception details if instance activation throws
#rb trivial
#preflight skip

#ROBOMERGE-OWNER: mitchell.fisher
#ROBOMERGE-AUTHOR: mitchell.fisher
#ROBOMERGE-SOURCE: CL 19653682 via CL 19654984 via CL 19655731 via CL 19655738
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v938-19570697)

[CL 19657590 by mitchell fisher in ue5-main branch]
2022-04-06 18:24:32 -04:00
jonathan adamczewski
c1bb6901bf Upgrade to .NET 6.0
#jira UE-119846
#preflight 624cbb2ecc0872e96b0d5181

[CL 19652696 by jonathan adamczewski in ue5-main branch]
2022-04-06 14:46:50 -04:00
PJ Kack
5f6c6d5beb UAT: Add BuildCookRun support for running both a dedicated server and cotf server.
Merge RunClientWithServer() and RunStandAloneClient() functions into one RunClient() function to resolve numerous inconsistencies between them and between unattended/non-unattended mode.
Always use SC.StageTargetPlatform.RunClient() to launch clients so that the logic works on all platforms.
When either the client, dedicated server or cook server exits, then all other processes exits too.
Hitting Ctrl-c in UAT kills all processes.

ShooterGame testing on Win64, consoles and android:
BuildCookRun -project=ShooterGame -platform=Win64 -config=development -skipbuild -cook -stage -pak -deploy -run
BuildCookRun -project=ShooterGame -platform=Win64 -config=development -skipbuild -skipcook -skipstage -skipdeploy -run
BuildCookRun -project=ShooterGame -platform=Win64 -config=development -skipbuild -skipcook -skipstage -skipdeploy -run -unattended
BuildCookRun -project=ShooterGame -platform=Win64 -config=development -skipbuild -cookonthefly -stage -deploy -run
BuildCookRun -project=ShooterGame -platform=Win64 -config=development -skipbuild -cookonthefly -stage -deploy -run -unattended
BuildCookRun -project=ShooterGame -platform=Win64 -config=development -skipbuild -cookonthefly -zenstore -stage -deploy -run
BuildCookRun -project=ShooterGame -platform=Win64 -config=development -skipbuild -cookonthefly -zenstore -stage -deploy -run -unattended

ShooterGame Win64 Desktop specific testing with lan server and multiple clients:
BuildCookRun -project=ShooterGame -platform=Win64 -config=development -skipbuild -cookonthefly -zenstore -server -stage -run -map=Highrise -numclients=3
BuildCookRun -project=ShooterGame -platform=Win64 -config=development -skipbuild -cookonthefly -zenstore -server -stage -run -map=Highrise -numclients=3 -unattended

EngineTest testing on Win64 and console:
BuildCookRun -project=EngineTest -platform=Win64 -config=development -skipbuild -cook -stage -pak -deploy -run -runautomationtest=Project.System
BuildCookRun -project=EngineTest -platform=Win64 -config=development -skipbuild -cookonthefly -stage -deploy -run -runautomationtest=Project.System
BuildCookRun -project=EngineTest -platform=Win64 -config=development -skipbuild -cookonthefly -zenstore -stage -deploy -run -runautomationtest=Project.System

#jira none
#rb carlmagnus.nordin
#rnx
#preflight 624d79fdbf5b974989964f4c

[CL 19645492 by PJ Kack in ue5-main branch]
2022-04-06 08:03:43 -04:00
Jerome Delattre
93a0f48bd8 Using System.Text.Json for Device reservation instead of fastJSON and making the deserialization not case sensitive
#rb Josh.Engebretson, Chris.Constantinescu
#preflight 62434b28292f228e09e53f10
#rnx
#jira none

[CL 19575272 by Jerome Delattre in ue5-main branch]
2022-03-31 13:43:17 -04:00
PJ Kack
640a176fd5 UAT: Ctrl-c exit fixes.
In ProcessManager.KillAll() make a local copy of global ActiveProcesses and to avoid calling any external code while iterating the internal global list.
In ProcessResult.StopProcess() make sure to set the ExitCode member from the killed process, else the information is lost forever since the member Proc has already been nulled out.
In CommandUtils.Run() check Result.ProcessObject for null for the case when WaitForExit() returns after StopProcess() has been called from another thread (ctrl-c handler).

#jira none
#rb carlmagnus.nordin
#rnx
#preflight 62441c4dc667881bf4e70722

[CL 19570185 by PJ Kack in ue5-main branch]
2022-03-31 03:25:13 -04:00
jonathan adamczewski
5053cae2d8 Launch UnrealBuildTool via dotnet unrealbuildtool.dll, not unrealbuildtool.exe
#jira none
#rnx
#preflight 624261bdb6084b98321e9251

[CL 19544939 by jonathan adamczewski in ue5-main branch]
2022-03-29 13:20:46 -04:00
jonathan adamczewski
0a6164bbd3 nullability annotations, rethrow fixes, net6.0 warning suppression
#jira none
#trivial
#rnx
#preflight 62425155c61d8a458f230657

[CL 19536049 by jonathan adamczewski in ue5-main branch]
2022-03-28 20:50:06 -04:00
jonathan adamczewski
01786aed54 GoogleDriveHelper: correct rethrow
#jira none
#trivial
#rnx
#preflight none

[CL 19535531 by jonathan adamczewski in ue5-main branch]
2022-03-28 19:43:45 -04:00
jonathan adamczewski
5c68d1d9ef Revert //UE5/Main/... changelist 19531725 - return to NET Core 3.1
#preflight 62422fd0470aff98e946bfce
#jira UE-119846

[CL 19534572 by jonathan adamczewski in ue5-main branch]
2022-03-28 18:25:19 -04:00
justin marcus
bab21f02ae Add MergeDirectory_NoExceptions which does not delete the contents of the targer directory.
#preflight https://horde.devtools.epicgames.com/job/623e0cb18330d27ee3740f4f

#ROBOMERGE-OWNER: justin.marcus
#ROBOMERGE-AUTHOR: justin.marcus
#ROBOMERGE-SOURCE: CL 19525960 via CL 19527026 via CL 19527842 via CL 19527853
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v937-19513599)

[CL 19532718 by justin marcus in ue5-main branch]
2022-03-28 16:27:08 -04:00
jonathan adamczewski
18ac15cbb1 Upgrade to .NET 6.0
#jira UE-119846
#preflight 6241fc06470aff98e943c035

[CL 19531725 by jonathan adamczewski in ue5-main branch]
2022-03-28 15:30:56 -04:00
Josh Adams
3be42005d9 - Removed code that was accidentally checked in, that broke Android .apk names
#fyi chris.babcock
#rb trivial
#jira UE-146630
#preflight skip

[CL 19456849 by Josh Adams in ue5-main branch]
2022-03-21 15:42:23 -04:00
josh adams
73790836c2 - Added PlatformValues to DeviceInfo in UAT land. Removed the Subtype field and changed it's very limited use to PlatformValues
- Added support for copying remote debugging files to SteamDeck when deploying
- Username is now pulled out of the Device info, or put on the commandline via -deviceuser to override
#rb brandon.schaefer
#jira none
#p4v-preflight-copy 19392535
#preflight 6233ac4af101b8d0afa9abf4

[CL 19428566 by josh adams in ue5-main branch]
2022-03-17 18:23:21 -04:00
Tim Smith
603b903987 Prepare UBT and automation code type scanning for the moving of the MSBuild code. This requires a change in how we handle the load failure of Microsoft.build.framework.
#rb leigh.swift
#rnx
#preflight 62337c800820efd0945e40d0

[CL 19424430 by Tim Smith in ue5-main branch]
2022-03-17 14:44:47 -04:00
andrew grant
128659d507 Added explicit check and exeption for the case where a zip file doesn't exist.It should make sume build failures easier to read.
#preflight skip

#ROBOMERGE-AUTHOR: andrew.grant
#ROBOMERGE-SOURCE: CL 19388087 via CL 19390308 via CL 19393669 via CL 19399357 via CL 19399484
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v926-19321884)

[CL 19403786 by andrew grant in ue5-main branch]
2022-03-16 03:48:40 -04:00
PJ Kack
68a9307bf1 UAT: Fix problem of waiting forever to kill client or cook server process when launching with -cookonthefly.
Optimize StopProcess() when called with KillDescendants=true by using the standard Process.Kill(bool entireProcessTree) instead of our own slow KillAllDescendants() implementation.
Kill entire process trees when killing the launched processes from KillAll on uat exit.
Build machines will still call KillAllDescendants as the last fallback just as before.

#jira none
#rb carlmagnus.nordin
#rnx
#preflight 62304a9510686369534217ce

[CL 19383104 by PJ Kack in ue5-main branch]
2022-03-15 04:52:57 -04:00
Josh Adams
ed1fb28a68 - New CreateBuild Turnkey command to interactively create builds that can be run now, or saved for later (exposed to Editor Platforms menu)
- Started moving the code that turns ProjectPackagingSettings into BuildCookRun commandline from editor to C# so that we can run scripts without needing to bake out the commandline
- Updated ExecuteBuild to handle some new variables and such (like the new one for importing ProjectPackagingSettings into the commandline dynamically)
- Added ability to update a Default config file in C# (with limited functionality - set value and add array entry, with an enum we can extend later)
- Minor cleanup here and there
#rb david.harvey
#preflight 622b581ddf3960e506cf9a27
#preflight 622bb3f046679d56c3239a8c

[CL 19360380 by Josh Adams in ue5-main branch]
2022-03-11 15:51:57 -05:00
bryan johnson
7da8b46f9b Add a retry to timestamp diff check, as networks might take a few seconds to settle the timestamp
#jira UE-145154
#rb ryan.hummer
#preflight 62293e9fd773d6497b1a28a9

#ROBOMERGE-AUTHOR: bryan.johnson
#ROBOMERGE-SOURCE: CL 19334950 in //UE5/Release-5.0/... via CL 19335251
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v926-19321884)

[CL 19348707 by bryan johnson in ue5-main branch]
2022-03-10 22:25:34 -05:00
PJ Kack
72b00cd645 UAT: Don't wait for 2 minutes for output handles to close for processes that does not redirect StdOut/StdErr at all (e.g. by calling Run with Options=ERunOptions.NoStdOutRedirect).
Give ERunOptions.NoStdOutCapture a unique value so that Options.HasFlag(ERunOptions.NoStdOutCapture) returns the expected result.

#jira none
#rb carlmagnus.nordin
#rnx
#preflight 6229dbc7377a9e55bac9ec3a

[CL 19334901 by PJ Kack in ue5-main branch]
2022-03-10 08:46:13 -05:00
Catalin Dragoiu
aba8c30dbe Added support for the -trace and -tracehost parameters for BuildCookRun
#jira UE-101084
#rb Ryan.Hummer Ionut.Matasaru
#preflight 6221e6d1a00412627d36aafc

[CL 19265555 by Catalin Dragoiu in ue5-main branch]
2022-03-04 09:14:28 -05:00
andrew scheidecker
c7f1787184 Fix P4WriteConfig error text reference to P4CreateConfig instead of P4WriteConfig.
#preflight 621e490eca28c556342d13c6

#ROBOMERGE-AUTHOR: andrew.scheidecker
#ROBOMERGE-SOURCE: CL 19202669 via CL 19206896 via CL 19213226 via CL 19213594 via CL 19213681
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v921-19075845)

[CL 19225208 by andrew scheidecker in ue5-main branch]
2022-03-02 13:56:42 -05:00