Commit Graph

1000 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
ben marsh
f7f6ffc00e AutomationTool: Update BuildCommand to use nullable annotations.
#rnx

[CL 34505995 by ben marsh in ue5-main branch]
2024-06-19 13:31:34 -04:00
zousar shaker
082e9969db [Backout] - CL34481610
[FYI] Zousar.Shaker
Original CL Desc
-----------------------------------------------------------------
Incremental step towards being able to stage to both a pak build as well as a nopak (streamng) build from a snapshot entirely stored in zenserver (no loose files on the filesystem except a ue.projectstore file).
Key changes:
- Removed the use of cookedfiles.manifest
- Changed IoStore mode of UnrealPak to  be capable of getting zenserver launch data from either a package store manifest (cbobject, metadata) OR a project store marker file (json)
- Ensured that the UAT and IoStore mode of UnrealPak can launch zenserver reliably by passing along the SponsorProcessId when launching zenserver
- Ensured that shader archives (and their accompanying json metadata files) can be read either as loose files on disk or directly from zenserver if it the data for them is internal to zenserver (ie: they have a valid  chunk id)
Remaining work:
- Pak mode of UnrealPak must be able to launch zenserver and pull data from it.

#rb PJ.Kack

[CL 34498668 by zousar shaker in ue5-main branch]
2024-06-19 10:15:01 -04:00
zousar shaker
a7b5faeaf0 Incremental step towards being able to stage to both a pak build as well as a nopak (streamng) build from a snapshot entirely stored in zenserver (no loose files on the filesystem except a ue.projectstore file).
Key changes:
- Removed the use of cookedfiles.manifest
- Changed IoStore mode of UnrealPak to  be capable of getting zenserver launch data from either a package store manifest (cbobject, metadata) OR a project store marker file (json)
- Ensured that the UAT and IoStore mode of UnrealPak can launch zenserver reliably by passing along the SponsorProcessId when launching zenserver
- Ensured that shader archives (and their accompanying json metadata files) can be read either as loose files on disk or directly from zenserver if it the data for them is internal to zenserver (ie: they have a valid  chunk id)
Remaining work:
- Pak mode of UnrealPak must be able to launch zenserver and pull data from it.

#rb PJ.Kack

[CL 34481636 by zousar shaker in ue5-main branch]
2024-06-18 17:33:46 -04:00
stephen ma
ff0fe033ec Add -projectprogramoverride to allow BuildCookRun to override passed in uproject paramter when building programs.
[REVIEW] josh.adams
#rb Josh.Adams

[CL 34388872 by stephen ma in ue5-main branch]
2024-06-14 19:23:10 -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
jerome delattre
144e69090a Substitute properties from Sanitizer report in Log format + fix Context and SourceFile properties in UE.Automation test report summary.
#rnx
#rb sebastian.lewicki

[CL 33940535 by jerome delattre in ue5-main branch]
2024-05-28 10:27:20 -04:00
ben marsh
c40502ed0f Horde: Fix some static analyzer warnings.
#rnx

[CL 33939753 by ben marsh in ue5-main branch]
2024-05-28 10:00:17 -04:00
jerome delattre
06c54447db [Gauntlet] Log Sanitizer report using KnownLogEvents.Sanitizer_Address so that it gets caught by Horde Event matcher
#jira UE-215443
#rnx

#rb kevin.macaulayvacher, sean.sweeney

[CL 33904471 by jerome delattre in ue5-main branch]
2024-05-24 16:09:27 -04:00
kevin macaulayvacher
5a23733d8b Makes the ThreadSanitizer LogEventMatcher and IssueHandler generic to Sanitizers in general and adds support for TSAN and ASAN. Updates the existing TSAN job to use the renamed commandlet and makes the job name clearer that a sanitizer report is being generated.
#jira UE-213117
#rb Ben.Marsh

[CL 33370008 by kevin macaulayvacher in ue5-main branch]
2024-05-01 07:12:59 -04:00
kevin macaulayvacher
bdc5b59de7 Fix two issues in ThreadSanitizerEventMatcher:
- We could match on irrelevant log line and then be forced to return a partial TSAN report depite not finding our report end delimiter
- We could potentially move the LogCursor one more line than available in the buffer if we end parsing on a line that matches our stack trace pattern since we would call MoveNext() on potentially a null line. This would result in exceptions being thrown while generating events.

[CL 33313709 by kevin macaulayvacher in ue5-main branch]
2024-04-29 16:47:38 -04:00
kevin macaulayvacher
8b887d6c5c Adds a new step to TSAN error process to allow a report of only the unique TSAN errors to be displayed. This step parses the output log from the test run and displays the unique errors and removes any interwoven log lines that are irrelevant.
Doing so the TSAN log matcher can now generate logs that contain the full TSAN error context in a single log. An TSAN IssueHandler has been added which looks for the summary log event and generates an issue keyed off the summary error reason and the file in error. The goal being to generate an issue per unique TSAN error

The TSANLogMatcher has had a test added to ensure we properly log only TSAN errors, and the file was renamed to fix warnings regarding file name and class name must matching.

EditorPerf timeouts have been reduced as we were waiting for 8 hours in cases when no tests were running due to errors in the config

#jira UE-212560
#rb Ben.Marsh
[FYI] Francis.Hurteau

[CL 33261211 by kevin macaulayvacher in ue5-main branch]
2024-04-26 08:42:40 -04:00
ben marsh
ecdefa9459 Horde: Match MSTest errors which contain parameter lists.
#rnx

[CL 33229271 by ben marsh in ue5-main branch]
2024-04-25 09:23:28 -04:00
josh adams
1ef3087292 - Ability to override Xcodebuild settings when staging and packaging with BuildCookRun, it is not used when building
#rb josh.adams

[CL 33128829 by josh adams in ue5-main branch]
2024-04-20 11:08:10 -04:00
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
ben marsh
2dd301febe Create an AutomationTools.Tests project, and move tests from Horde.Agent into it. Included in UE5 default solution for better visibility.
[FYI] carl.bystrom, kevin.macaulayvacher

[CL 33036388 by ben marsh in ue5-main branch]
2024-04-17 10:39:36 -04:00
kevin macaulayvacher
1c564f5450 - Adds a ThreadSanitizer Structured Logging Matcher so we may contextualize TSAN output in Horde logs. It specifically will attempt to annotate files, symbols, and symbol addresses in callstacks, warning on TSAN "WARNING" messages and "SUMMARY" message.
-- The "SUMMARY" message is the only log line treated as an error since it is information (description of problem, and file+line to address) but also not overly specific such that we should be able to make JIRA issues from these log lines without generating duplicate issues for the same race from different callsites.
- Changes EditorPerf TSAN job to use -VeryVerbose in UAT so that stdout and stderr are redirected for logging. TSAN emits logs to stderr/stdout (depends on environement variable, stderr by default). The logs can be redirected to a log file via envvar TSAN_OPTIONS and specifying a path, however, Horde will only use whatever is written to stdout/stderr for generating issues, so unless a post process is added to forward the TSAN log output after the application has terminated, having stdout redirected stderr/stdout by default for TSAN jobs is simplest approach.
- Added two new KnownLogEvents `Sanitizer_Thread` and `Sanitizer`. `Sanitizer_Thread` is used by the added matcher, but `Sanitizer` was also added so that we may follow the pattern of letting the first id represent the broader category of events

#rb Bryan.Johnson, Ben.Marsh
#jira UE-207074
[FYI] Francis.Hurteau

[CL 33007156 by kevin macaulayvacher in ue5-main branch]
2024-04-16 13:44:37 -04:00
bob tellez
1eac2aebe2 Merging CL#32865058
[preflight] Move UpdatePackagingParameters into it's own file.

#rb brendan.lienau

[CL 32872909 by bob tellez in ue5-main branch]
2024-04-11 02:05:38 -04:00
james singer
bcadb03ee6 Fix CombinePaths dereferencing null
#jira none

[CL 32524530 by james singer in ue5-main branch]
2024-03-26 17:48:05 -04:00
james singer
51c592e2f1 Fix problem making chunked builds due to CombinePaths combining quoted and unquoted paths together
#jira UE-206734

#rb zack.neyland

[CL 32521622 by james singer in ue5-main branch]
2024-03-26 16:19:45 -04:00
jim casale
adb8947e6c Adding systemic matcher to "There is not enough space on the disk." errors during LogChannelEvents
#rnx

[CL 32511520 by jim casale in ue5-main branch]
2024-03-26 12:04:33 -04:00
jim casale
b3a2dea4b0 Fixing error matcher for locked robomerge gates. Adding a cursor function to look ahead a limited number of times.
#rnx
#jira  UE-127714

#rb Ryan.Hummer

[CL 32508207 by jim casale in ue5-main branch]
2024-03-26 10:13:20 -04:00
eric knapik
9425c94f8a Adding skip build as an option for the compile task in buildgraph.
Skip build flag is passed to UBT so that only target files can be generated without performing a full build operation.

Fixing an issue in the CompileTask where AllowAllCores would always be false

[REVIEW] [at]Joe.Kirchoff [at]Ben.Marsh [at]Ryan.Hummer [at]Gary.Yuan [at]Philip.Cosgrave

#rb Ben.Marsh

[CL 32489167 by eric knapik in ue5-main branch]
2024-03-25 18:31:19 -04:00
ben marsh
777487df11 Horde: Only enable code signing by default when running on an Epic build machine. The IsBuildMachine flag is true for any Horde deployment, but UAT hard-codes the signing certificate name for Epic. Check for the EpicInternal.txt flag to indicate whether we're running on Epic's farm.
#jira UE-210179

[CL 32376723 by ben marsh in ue5-main branch]
2024-03-20 14:56:15 -04:00
will brown
2f6c5f922d Calling the CustomCopyHandler during CreatePakResponseFileFromStagingManifest so that the copy output file can be correctly added to the PakResponse
#rb Josh.Adams, Zousar.Shaker

[CL 32346844 by will brown in ue5-main branch]
2024-03-19 21:57:14 -04:00