Commit Graph

102 Commits

Author SHA1 Message Date
zousar shaker
67fe4b2afe Fix stage/deploy functionality so that if you're using fileserver/projectstore functionality, it doesn't write a layout file that expects loose files (INIs, etc) to be on the filesystem. This required moving some pieces of functionality onto ProjectParams so that they are accessible by a platform automation layer.
#rb dan.engelbrecht, PJ.Kack

[CL 33041507 by zousar shaker in ue5-main branch]
2024-04-17 13:30:25 -04:00
zousar shaker
9f1b48b917 Change naming of .projectstore to ue.projectstore to avoid having hidden by default status on Mac/Linux.
#rb dan.engelbrecht

[CL 31054932 by zousar shaker in ue5-main branch]
2024-01-31 13:01:29 -05:00
zousar shaker
e95a2b2c30 Change default port for autolaunched ZenServer local service to 8558. When connecting to an existing service (not autolaunched), the default port remains what it was before, but will change in the future.
[CL 28665636 by zousar shaker in ue5-main branch]
2023-10-11 11:18:41 -04:00
david harvey
6e22cd71c5 Automation platforms can define a custom deployment handler that can be used to alter staging, packaging and deployment behavior.
- Allows a target to change how it is packaged, staged and deployed - for example, when packaging for a specific game store

Hooked into Windows only at the moment, configured via:

[/Script/WindowsTargetPlatform.WindowsTargetSettings]
CustomDeployment=MyCustomDeploymentHandler


#jira UE-179187
#rnx
#rb Eric.McDaniel

[CL 27370777 by david harvey in ue5-main branch]
2023-08-25 04:21:07 -04:00
david harvey
89147b45dd Add version of automation Platform.RunClient that takes a DeploymentContext
#jira UE-179187
#rnx

[CL 27098132 by david harvey in ue5-main branch]
2023-08-15 04:05:08 -04:00
dan engelbrecht
a851c3c370 Better diagnostic for detecting use of zenstore when generating uecommand.txt
#preflight 647486b34b1ead7c7fe1aeb3
#rb zousar.shaker

[CL 25672735 by dan engelbrecht in ue5-main branch]
2023-05-30 04:24:53 -04:00
Wojciech Krywult
9fe0243168 AutomationTool: Fixed 'Launch failed' messages in the editor after terminating a successfully launched game.The problems was caused by us treating all non-zero results as errors while some platforms return different non-zero codes to provide additional information.
Resolved by adding IProcessResult::bExitCodeSuccess virtual property which may be overridden on the affected platforms to explicitly indicate which exit codes are allowed.

#preflight 6462a07a592448f08bde34e4
#rb David.Harvey
#jira UE-178885
#rnx

[CL 25497459 by Wojciech Krywult in ue5-main branch]
2023-05-16 16:56:31 -04:00
Zousar Shaker
87a7ee439e Don't connect to host zenserver via uecommandline.txt if we are creating PAK files.
Original author: Dan Engelbrecht

#rb zousar.shaker
#preflight 64555a88d02ea5289f01c430

[CL 25359114 by Zousar Shaker in ue5-main branch]
2023-05-05 15:55:05 -04:00
dan engelbrecht
96500c25d1 Automatically detect a if a staged target is using zenstore without pak and configure zenserver host and project id.
#jira UE-144425
#rb zousar.shaker pj.kack
#preflight 64427d5b4944ef78923c85b6

[CL 25144415 by dan engelbrecht in ue5-main branch]
2023-04-21 08:56:22 -04:00
dan engelbrecht
db5e568754 Game client no longer needs -zenstoreproject or -zenstorehost arguments to correctly run with a COTF server which uses Zen.
Game client now accepts only -filehostip for connection to a CTOF server, -cookonthefly is no longer necessary and is ignored.
Game client will now receive ProjectName (ProjectId), Platform (OplogId), Zen server host name and port from COTF server if running with zenstore.
Fixed issues with generating the ProjectId from a path where drive letters where lower case.

#rb zousar.shaker pj.kack
#preflight

[CL 24889513 by dan engelbrecht in ue5-main branch]
2023-04-03 01:51:40 -04:00
Ben Marsh
cbf077c130 More AutomationTool structured logging changes.
#preflight 6408f4bcb0544ef0b4c2c5c6

[CL 24566694 by Ben Marsh in ue5-main branch]
2023-03-08 16:11:38 -05:00
Ben Marsh
235eb77726 Change to structured logging in other AutomationTool projects.
#preflight 6408c4478c0039bbf750e861

[CL 24562553 by Ben Marsh in ue5-main branch]
2023-03-08 12:43:35 -05:00
PJ Kack
b1764482c1 UAT: Make sure to use the specified unreal executable instead of a hard coded development one when launching the cook on the fly server.
Fix bug where quick launching with cotf from a debug editor failed to launch the cook server due to a missing or old development editor executable.
Since the default executable is the the console -cmd.exe one, implement ShellExecute to open a separate shell for the server output, also fixes duplicated stdout lines in that window.
Improve BuildCookRun log messages for booting and shutting down server and client.

#jira UE-173897, UEENGQA-80955
#rb carlmagnus.nordin
#preflight 63ca9499c503023ab986b09c

[CL 23788926 by PJ Kack in ue5-main branch]
2023-01-20 08:38:42 -05:00
robert seiver
a37788fdd4 Fixes crash when PLINK or PSCP are inside of a folder path which contains a space
#preflight none
#rb Brandon.Schaefer

[CL 23141324 by robert seiver in ue5-main branch]
2022-11-15 15:17:02 -05:00
robert seiver
11bba5ecda Fixed crash during run command when deploy to a Linux server. Fix verified using Lyra Game using ushell to build, stage, and deploy the server.
#review-23101439 @Brandon.Schaefer, @Zack.Neyland
#jira UE-139484
#preflight 636e8ebc5368a3230aace90b

[CL 23108107 by robert seiver in ue5-main branch]
2022-11-11 19:29:33 -05:00
PJ Kack
638407e51c UAT: Limit BuildCookRun time to wait for a dedicated server process to start logging to 10 seconds since servers (in shipping) may run with logging disabled (improvement for 19645492).
#jira UE-159535
#rb carlmagnus.nordin
#rnx
#preflight 62fb469b1e39eb26a018920f

[CL 21402223 by PJ Kack in ue5-main branch]
2022-08-16 03:41:52 -04:00
mark lintott
2fdabe835a Added support for sessionlabel to UAT. -sessionlabel was not being passed through from UAT commandline to the exe commandline.
#rb joe.kirchoff
#jira none
#preflight 62a22a61415407fc4cd55b97

[CL 20581017 by mark lintott in ue5-main branch]
2022-06-09 13:53:57 -04:00
PJ Kack
6b6bc48fc5 UAT: Add additional startup and BuildCookRun logging and timings
#jira none
#rb trivial
#rnx
#preflight 627379dda56dd762120e6e2e

[CL 20055418 by PJ Kack in ue5-main branch]
2022-05-05 03:40:01 -04:00
PJ Kack
65391545db UAT: Restrict the COTF -filehostip list to ip v4 host addresses and only include 127.0.0.1 on host platforms or platforms that support port redirection.
Makes connecting to cotf faster on some platforms.
Removes warnings like: LogSockets: Warning: Could not serialize fe80::edc3:3284:5b1b:1f32%7, got error code SE_NO_ERROR [0]
Makes the string shorter and more readable.

Test:
RunUAT.bat BuildCookRun -project=Samples\Games\ShooterGame\ShooterGame.uproject -platform=XYZ -config=development -build -cookonthefly -stage -run

FileHostIp example on PC & android:
Before: -filehostip=127.0.0.1+fe80::edc3:3284:5b1b:1f32%7+10.24.101.44+::1+127.0.0.1+fe80::58d4:b8b3:ff7a:4974%9+172.18.240.1
After : -filehostip=127.0.0.1+10.24.101.44+172.18.240.1

FileHostIp example on console:
Before: -filehostip=127.0.0.1+fe80::edc3:3284:5b1b:1f32%7+10.24.101.44+::1+127.0.0.1+fe80::58d4:b8b3:ff7a:4974%9+172.18.240.1
After : -filehostip=10.24.101.44+172.18.240.1

#jira none
#rb carlmagnus.nordin, per.larsson
#rnx
#preflight 62722ddafe45c124493258a8

[CL 20038819 by PJ Kack in ue5-main branch]
2022-05-04 04:18:17 -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
Johan Berg
f8d3bd1276 UnrealTraceServer should start with "fork" argument.
#rb martin.ridgers
#jira UE-146759
#preflight 623ae6d8bc1cf280387442fc

[CL 19477188 by Johan Berg in ue5-main branch]
2022-03-23 05:27:27 -04:00
PJ Kack
fb246602cf UAT: Cleanup the RunProjectCommand and CopyBuildToStagingDirectory in BuildCookRun to use the same GetFileHostCommandline logic.
Delete the RunFileServer logic since the UnrealFileServer.exe does not exist any more.

#jira none
#rb carlmagnus.nordin
#rnx
#preflight 622a00311f1ec97d4eb68455

[CL 19334986 by PJ Kack in ue5-main branch]
2022-03-10 09:03:22 -05:00
PJ Kack
34ca8f8a55 UAT: Don't pass the ddc graph argument -ddc= to cooked targets in the RunCommand.
It is only relevant when running the editor executable.

#jira none
#rb trivial
#rnx
#preflight 6229c5fa695c94f981f62cf1

[CL 19334061 by PJ Kack in ue5-main branch]
2022-03-10 04:37:45 -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
zousar shaker
0832797d28 Ensure that Zen ProjectIds are unique for projects with the same name in differing roots (or in the same root) while attempting to maintain some easily recognizable desriptors for the project.
Staged builds are explicitly assigned a project id via the persistent UECommandline.txt file.  This works on mobile/consoles, but isn't implemented for Windows/Linux/Mac, so staged builds for those platforms don't have a persistent assignment of project id and instead rely on the launch by the editor including the appropriate commandlines.
Unstaged builds on Windows/Mac/Linux now determine project id independently after they have determined the project file path.  This happens after the project file has been determined and has had case corrected.  This ensures it is different/unique for multiple blueprint projects that share the same executable.
Fix a bug where second cook in editor to zen would stall because the queue thinks all additions are finished due to a boolean that isn't reset.

#rb devin.doucette
#rb per.larsson
#preflight 61b39a35a2562c8b1c40f81e

#ROBOMERGE-AUTHOR: zousar.shaker
#ROBOMERGE-SOURCE: CL 18432317 in //UE5/Release-5.0/... via CL 18435404
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v897-18405271)

[CL 18435895 by zousar shaker in ue5-release-engine-test branch]
2021-12-10 18:06:39 -05:00