Commit Graph

166 Commits

Author SHA1 Message Date
Per Larsson
e0fa4b3b40 Added UAT parameter -NoZenAutoLaunch for easier debugging of Zen server
#rb trivial
#jira none
#preflight none

[CL 20325946 by Per Larsson in ue5-main branch]
2022-05-23 09:24:09 -04:00
josh adams
381fbb5b95 - Fixed up the EditorOptional directories to have a different save vs input, since the save dir needs to be cleaned, but the input one cannot get cleaned
#rb francis.hurteau
#preflight 6286c9041e478b95c7ccaa2a

#ROBOMERGE-AUTHOR: josh.adams
#ROBOMERGE-SOURCE: CL 20289363 via CL 20289803 via CL 20289816 via CL 20289832
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v948-20297126)

[CL 20304893 by josh adams in ue5-main branch]
2022-05-20 18:49:22 -04:00
Dan Thompson
3a6321167b Packaging Reference Chunk Database - "Lossless Patch Preventer"
Can now provide reference iostore containers to reuse compressed chunks from. If a match is found on *the decompressed data*, instead of recompressing the blocks, they are read off of disk. This allows tweaks of the compressor algorithm without introducing changes as the runtime still sees the exact same data. Additionally this allows for fairly dramatic staging speedups as nvme speeds are significantly faster than high effort compressions. This is distinct from the DDC compression because:
1) DDC compression ties in the compressor version/method
2) We are explicitly interested in chunks that are deployed to end users, not merely cached for speed.

To facilitate this, several changes were made to IoStore:

FIoStoreReader now directly reads from IFileHandles* instead of routing through the GenericPlatformFile async read system, as that system is sensitive to build #defines and can result in constant file opens under load (indeed, for anything not a .pak file, every read is an open/close).

Cold file cache read speed improvements from ~140MB/s to ~1 GB/s. Hot is more.

Additionally:
    FIoStoreReader switched to UE::Tasks from taskgraph for tasks in order to facilitate task retraction during waits as the previous ReadAsync call was trivial to deadlock when called from worker threads due to its use of TFuture<>.
    FIoStoreReader::ReadCompressed now returns the compressed blocks as they were on disk - padded to AES encryption block size.

#rb fabian.giesen
#rb jeff.roberts
#preflight 627586dcf77c9c2b543d4d8b

[CL 20086673 by Dan Thompson in ue5-main branch]
2022-05-06 18:22:44 -04:00
Josh Adams
f18143aa8b - Added missing commandline option for the optional file staging directory (-optionalfilestagingdirectory=)
#rb trivial
#preflight 627423bafd59d6606e0162f0

[CL 20063141 by Josh Adams in ue5-main branch]
2022-05-05 15:36:34 -04:00
Josh Adams
defdfa230a - Added option for IoStore to write optional files (.o.ucas) to a different directory. This is used when making a a cooked editor as DLC against a client build (the client build has to make the optional editor data, but we do not want to ship the optional data with the client). The MakeCookedEditor script will then copy the files from that location into the editor's Stage directory (under Content/Paks)
#rb carl-magnus.nordin,francis.hurteau
#preflight 6273f8fd8d32cd80d8a8ecdb

[CL 20059504 by Josh Adams in ue5-main branch]
2022-05-05 12:28:59 -04:00
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
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
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
josh adams
7b222e8da6 - Added NeverPackage flag to BuildCookRun which can skip steps in Staging knowing that Packaging will never happen (different than SkipPackage which assumes Packaging happened at some other point)
#rb luke.thatcher
#preflight skip

#ROBOMERGE-AUTHOR: josh.adams
#ROBOMERGE-SOURCE: CL 18800102 via CL 18826763 via CL 18826847 via CL 18826897 via CL 18835856 via CL 18836710
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v910-18824042)

[CL 18836905 by josh adams in ue5-main branch]
2022-02-02 18:42:06 -05:00
chris caulfield
29ccf263b4 Fix MapsToCook when multiple +-separated maps are provided to the cooker
#rb jor.kirchoff
#jira none
#preflight 61e1ef2b4b4bd12cbee803d9

#ROBOMERGE-AUTHOR: chris.caulfield
#ROBOMERGE-SOURCE: CL 18624077 in //UE5/Release-5.0/... via CL 18624109 via CL 18624120
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v899-18417669)

[CL 18624165 by chris caulfield in ue5-main branch]
2022-01-14 17:16:46 -05:00
joe kirchoff
ce3aa781de Fixed the initial map setting of the project launcher being ignored when also specifying maps to cook (from jamie.dale)
#jira UE-119188
[FYI] jamie.dale
#rb trivial
#preflight 61e081ce787db720a912c783

#ROBOMERGE-AUTHOR: joe.kirchoff
#ROBOMERGE-SOURCE: CL 18602768 in //UE5/Release-5.0/... via CL 18602826 via CL 18602868
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v899-18417669)

[CL 18602899 by joe kirchoff in ue5-main branch]
2022-01-13 15:09:04 -05:00
eric mcdaniel
0feac03920 Add PackageEncryptionKeyFile to UAT project params
- added optional UAT parameter PackageEncryptionKeyFile to specify the encryption key file to use during packaging for supporting platforms
  - example usage: -PackageEncryptionKeyFile=C:\MyProject\MyEncryptionKey.key

#rb Andrew.Firth, David.Harvey
#lockdown michal.valient
#preflight 616e13e96e12ff000113feab

#ROBOMERGE-AUTHOR: eric.mcdaniel
#ROBOMERGE-SOURCE: CL 17861698 via CL 18004085 via CL 18369956 via CL 18369989
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)

[CL 18370000 by eric mcdaniel in ue5-release-engine-test branch]
2021-12-03 13:18:21 -05:00
aurel cordonnier
a6e741e007 Merge from Release-Engine-Staging @ 17915896 to Release-Engine-Test
This represents UE4/Main @17911760, Release-5.0 @17915875 and Dev-PerfTest @17914035

[CL 17918595 by aurel cordonnier in ue5-release-engine-test branch]
2021-10-25 20:05:28 -04:00
per larsson
e29cc6c467 Simplify command line arguments when running COTF with Zen loader/storage server
- changed Cooker arguments from -CookOnTheFly -IoStore to -CookOnTheFly -ZenStore
- changed Zen host argument from -StorageServerHost to -ZenStoreHost
- updated UAT to support running CBTB with -ZenStore
- updated StorageServerConnection to handle multiple hosts from command line

Cooker:
  CBTB: -ZenStore
  COTF: -ZenStore -CookOnTheFly

Game:
  CBTB: -ZenStoreHost=<ip> or <ip1,ip2>
  COTF: -ZenStoreHost=<ip> or <ip1,ip2> -CookOnTheFly

#rb CarlMagnus.Nordin
#jira none
#rnx

#ROBOMERGE-SOURCE: CL 16849969 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v836-16769935)

[CL 16849982 by per larsson in ue5-release-engine-test branch]
2021-07-14 10:40:16 -04:00
zousar shaker
c27625b056 Integrating //UE5/Dev-Cooker [at] 16678003 to //UE5/Main (Zousar.Shaker-YEG-0943-Quaternary)
Non-DevIteration_ShooterGame


#ROBOMERGE-SOURCE: CL 16678907 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v835-16672529)

[CL 16678928 by zousar shaker in ue5-release-engine-test branch]
2021-06-15 16:38:03 -04:00
jonathan adamczewski
64c210d294 AutomationTool, BuildUtilities:
UnrealBuild -> Unreal for EngineDirectory, RootDirectory, IsEngineInstalled, UnrealBuildToolPath
Remove CommandUtils EngineDirectory, RootDirectory, IsEngineInstalled - use equvalents from UnrealBuildBase.Unreal

#jira none

#ROBOMERGE-SOURCE: CL 16648181 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v833-16641396)

[CL 16648203 by jonathan adamczewski in ue5-release-engine-test branch]
2021-06-11 18:21:35 -04:00
aurel cordonnier
25a11deeac Merge from Release-Engine-Staging @ 16579919
This represents UE4/Main @ 16579691 and Dev-PerfTest @ 16579576

[CL 16581170 by aurel cordonnier in ue5-release-engine-test branch]
2021-06-07 20:09:45 -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
jeff newquist
5ea7789d60 Rename UE4CommandLine.txt to UECommandLine.txt and deal with all the related changes
#rb TBD
#jira UE-113713

[CL 16093056 by jeff newquist in ue5-main branch]
2021-04-22 10:29:26 -04:00
Marc Audy
01b7c9f4f5 Merge UE5/RES @ 15958325 to UE5/Main
This represents UE4/Main @ 15913390 and Dev-PerfTest @ 15913304

[CL 15958515 by Marc Audy in ue5-main branch]
2021-04-08 14:32:07 -04:00
Luke Thatcher
eaea736558 Remove unused GetTitleSettings() function from PlatformFeatures.
Add "-originalreleaseversion" command line switch in UAT. This is required by some platforms for patching / updates.

#rb Jeff.Newquist, Ryan.Hairyes
#jira UE-103275

[CL 15676775 by Luke Thatcher in ue5-main branch]
2021-03-11 11:17:55 -04:00
Marc Audy
8f73cd7fa9 Merge UE5/Release-Engine-Staging @ 15630841 to UE5/Main
This represents UE4/Main @ 15601601

[CL 15631170 by Marc Audy in ue5-main branch]
2021-03-05 19:27:14 -04:00
ben marsh
9069e1d681 Fix UAT no longer respecting the -nocompileeditor argument.
#jira UE-108806
#rb none

#ROBOMERGE-SOURCE: CL 15480539 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v771-15082668)

[CL 15480575 by ben marsh in ue5-main branch]
2021-02-19 19:58:21 -04:00
Marc Audy
9753392e2b Merge UE5/RES CL# 15462083 to UE5/Main
This represents UE4/Main @ 15414221

[CL 15463811 by Marc Audy in ue5-main branch]
2021-02-18 18:13:28 -04:00