Commit Graph

82 Commits

Author SHA1 Message Date
ben marsh
dd9ff2a710 AutomationTool: Add a service provider to the CommandUtils class, and add utility methods to allow retrieving secrets from Horde.
#rnx

[CL 34513034 by ben marsh in ue5-main branch]
2024-06-19 16:32:17 -04:00
joe kirchoff
72a8c5996d Fix various XML comment issues in AutomationTool and various scripts (non-functional change)
#rnx

[CL 34263204 by joe kirchoff in ue5-main branch]
2024-06-10 21:51:45 -04:00
mattias jansson
08e098801d Add command line option to control stdout/stderr read timeout in child processes of AutomationTool. Needed for workaround in Wine where stderr is not always properly closed, causing a minute delay on some operations. Patching Wine is cumbersome at this point, and this command line option introduces a workaround while maintaining current behaviour by default.
Tested by running AutomationTool under Wine using Linux and noticing a one minute delay as process exit is waiting for stderr to close. Then re-running the test with -WaitForStdStreams=100 and verifying the exit happens within 100ms and no output is lost.

#rb Ben.Marsh

[CL 30648254 by mattias jansson in ue5-main branch]
2024-01-16 17:48:35 -05:00
ryan hummer
b8460946bc Change UnrealBuildException to print as errors
* Give it a unique exit code
* And introduce a new output format MinimalError to give minimal info output, but as an error

#rnx
#jira UE-191956
#rb joe.kirchoff, marc.audy, bryan.johnson

[CL 26823591 by ryan hummer in ue5-main branch]
2023-08-03 15:42:02 -04:00
josh adams
f6381544e2 - Allow a project to override the Main SDK version for a platform (the platform's project Engine.ini would set
[OverrideSDK]
  SDKVersion=x.y.z
and AutoSDK, or anything using GetMainVersion(), would use that version string instead
- If multiple targets are built in one run of UBT/UAT, it will error out because there is no support to switch SDKs (and builds happen in parallel, etc)
- This is not a complete solution, because it can cause problems with shared tools like ShaderCompileWorker, when different projects are on different SDKs and they have one SCW to share
- Renamed GetMainVersion to GetMainVersionInternal(), and wrapped that in a new non-vitual GetMainVersion() that calls GetMainVersionInternal() (and handles the ini overrides)
#rb david.harvey,dave.barrett
#jira UE-185364
#preflight 647a12e7b0670733186c928e

[CL 25767233 by josh adams in ue5-main branch]
2023-06-02 13:42:59 -04:00
bryan sefcik
badffe3f69 Reverted back to using the AsyncLocalScopeManager to manage the active span. This appears to be passing the tests I added.
Added another test for Parallel.ForEachAsync.

#preflight 6435ac93d03b1c87dd42103c

[CL 24996101 by bryan sefcik in ue5-main branch]
2023-04-11 15:15:56 -04:00
bryan sefcik
e396637ca2 Updated JsonTracer to derive from IDisposable.
#preflight 642cbffcda7f958370a54c96

[CL 24923041 by bryan sefcik in ue5-main branch]
2023-04-04 21:16:36 -04:00
Ben Marsh
e141cb6196 More UAT structured logging fixes.
#preflight 6408dee3b0544ef0b4bca696

[CL 24564590 by Ben Marsh in ue5-main branch]
2023-03-08 14:32:15 -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
Ben Marsh
89d6613573 UAT: Refactor AutomationUtils and BuildGraph to use structured logging.
#preflight 6407c4c26e1dadfcdab25849

[CL 24553706 by Ben Marsh in ue5-main branch]
2023-03-07 21:23:47 -05:00
Joe Kirchoff
3e2fe76c7d AutomationTool: Trace P4 init
#rnx
#rb trivial
#preflight 63d9578d67116074a87f0e29

[CL 23933392 by Joe Kirchoff in ue5-main branch]
2023-01-31 14:04:39 -05:00
Ben Marsh
928e26c6c1 Remove loading of ignore patterns from UAT/UBT. These can cause a large CPU load when a lot of warnings and errors are present, which should be masked out in a more efficient and targetted way.
#preflight none
#fyi Zousar.Shaker

[CL 20535769 by Ben Marsh in ue5-main branch]
2022-06-07 08:09:47 -04:00
Ben Marsh
c4ff2e9549 UBT: Read ignore pattern files when launching UBT/UAT.
#preflight 629b530ab42820769492b7e2

[CL 20499431 by Ben Marsh in ue5-main branch]
2022-06-04 09:08:44 -04:00
Ben Marsh
c4c16b4191 UAT: Output a structured log file from UAT.
#preflight 629a0cb22230bd91403f1c6f

[CL 20485557 by Ben Marsh in ue5-main branch]
2022-06-03 09:44:38 -04:00
Ben Marsh
da4a5bc82b Registers matchers from UBT into log event parser in UAT, for times where we build inside UAT.
#preflight 629112c1a962938dff13b2ad

[CL 20396261 by Ben Marsh in ue5-main branch]
2022-05-27 14:14:28 -04:00
Ben Marsh
cbb950c578 UBT: Use ILogger throughout UBT, rather than legacy EpicGames.Core.Log methods. All output going forwards should use structured logging rather than String.Format style logging.
#preflight 628e9dc6e746de4961f60032

[CL 20373777 by Ben Marsh in ue5-main branch]
2022-05-25 19:55:37 -04:00
Ben Marsh
06673f202c UAT: Move logger matcher initialization into AutomationUtils, since it's not a hard dependency of AutomationTool.
#jira UE-153354
#preflight 6287e8208828ea88c87c54cd

[CL 20301330 by Ben Marsh in ue5-main branch]
2022-05-20 15:27:15 -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
Ben Marsh
8a67c4acaf Horde: Move generic functionality for hosting different commands within an application into EpicGames.Core. Simplifies command line parsing, error handling, help output, etc...
#preflight 620c005c615db7478d393b1e

[CL 19001122 by Ben Marsh in ue5-main branch]
2022-02-15 14:41:10 -05:00
Ben Marsh
6a2855f64c UAT: Add support for async build commands and BuildGraph tasks.
#preflight 61b3aa86e928cffe866fa918

[CL 18433916 by Ben Marsh in ue5-main branch]
2021-12-10 15:36:47 -05:00
aurel cordonnier
a12d56ff31 Merge from Release-Engine-Staging @ 17791557 to Release-Engine-Test
This represents UE4/Main @17774255, Release-5.0 @17791557 and Dev-PerfTest @17789485

[CL 17794212 by aurel cordonnier in ue5-release-engine-test branch]
2021-10-12 21:21:22 -04:00
geoff evans
9a59ec0529 AutomationTool
* Skip flushing ProjectUtils temp folders on startup of a child process. Leave files intact that were generated by the parent process.

This change fixes some issues where ProjectUtils is booted up in a parent AutomationTool, which causes some UATRules assemblies to be generated and loaded. Child processes try to clean up these files on startup, but they are locked by the parent process. Skip the cleanup in this case.

#rnx
#jira none
#rb jonathan.adamczewski
#preflight 614a12e1116f2a0001927afb

#ROBOMERGE-AUTHOR: geoff.evans
#ROBOMERGE-SOURCE: CL 17585916 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v871-17566257)

[CL 17585949 by geoff evans in ue5-release-engine-test branch]
2021-09-21 14:48:58 -04:00
jonathan adamczewski
9ccfa4b86c UnrealBuildTool, AutomationTool:
Print path to log file, print a timestamp at the top of each log file, don't print (wrong) callstack location.

#jira none
#rb ben.marsh

#ROBOMERGE-SOURCE: CL 17351052 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v865-17346139)

[CL 17351057 by jonathan adamczewski in ue5-release-engine-test branch]
2021-08-30 08:44:36 -04:00
jonathan adamczewski
f270855eef AutomationTool: Compile script modules within the application
Add a layer of caching to avoid running msbuild as much as possible.

#jira UE-109181
#rb ben.marsh

#ROBOMERGE-SOURCE: CL 17102399 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v853-17066230)

[CL 17102408 by jonathan adamczewski in ue5-release-engine-test branch]
2021-08-09 10:39:35 -04:00
jonathan adamczewski
7b507db7d9 AutomationTool:
Remove dependencies from AutomationTool -> AutomationToolUtils

Removes compile-time dependencies, except for the call to AutomationTool.Automation.Process - which will be changed in a future CL.

This change is part of preparing AutomationTool to be able to build All *.Automation.csproj projects (including AutomationUtils.Automation.csproj)

#jira UE-109181
#preflight 60caedc72ab21800016a73a5

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

[CL 16703966 by jonathan adamczewski in ue5-release-engine-test branch]
2021-06-17 09:46:27 -04:00