Commit Graph

784 Commits

Author SHA1 Message Date
David Harvey
5996881bca Fix error message when multiple Client or Server target.cs files exist, but -Target= is not specified.
#jira UE-152652
#rb trivial
#rnx
#preflight 6315aee47562a90dfa9a804d

[CL 21789934 by David Harvey in ue5-main branch]
2022-09-05 04:27:53 -04:00
gary yuan
e1f73689e2 Fix ParamHelpAttribute serialization issues with public setters
Make Flag getter more consistent

#rb Eric.Knapik
#preflight 63110e0695513dfc9dc0afd3

[CL 21767589 by gary yuan in ue5-main branch]
2022-09-02 17:06:53 -04:00
Wojciech Krywult
af488b1326 Automation: Fixed PropertiesCache cache with ProjectProperties that could add multiple values for the same key.
GetProjectProperties uses PropertiesCache collection (hashmap) to store project properties indexed by PropertyCacheKey struct (.uproject path + platforms + configurations). However, it didn't work as expected because PropertyCacheKey has array members that are reference types. Without a custom hashing implemented, this key would generate different hash codes even if elements stored in the arrays were the same. As a result, querying the same properties multiple times would generate multiple entries in the cache e.g.

GetProjectProperties("foo.uproject", {UnrealTargetPlatform.PC}, {UnrealTargetConfiguration.Debug})
GetProjectProperties("foo.uproject", {UnrealTargetPlatform.PC}, {UnrealTargetConfiguration.Debug})

would create two entries for PC/Debug.

Resolved by implementing the full set of Equals, GetHashCode and comparison operators.

#preflight 630e8d14556fc14dce7d11c5
#rb David.Harvey
#jira UE-162001
#rnx

[CL 21720344 by Wojciech Krywult in ue5-main branch]
2022-08-31 10:07:21 -04:00
Wojciech Krywult
abb6e2c33a Automation: Fixed staging of blueprint-only projects on some platforms.
The problem was that blueprint-only projects would return true for IsCodeBasedUProjectFile during staging. The issue was triggered by CL 21214930 where PropertyCacheKey (ProjectUtils.cs) was added. Before this change GetProjectProperties worked based only on the path to .uproject. After the change, it also takes the platform and configurations into account. It means that:

GetProjectProperties("...", SomePlatform, Debug)
GetProjectProperties("...", null, Debug)

may return different results. While it's probably the core or the fix this change implemented, it may given unexpected results because when null is passed as a list of platforms, internally all available platforms are taken into account and if only one of them requires the project to be compiled IsCodeBasedUProjectFile will return true, which may not be what our code is expected to see. That's what happened during staging - IsCodeBasedUProjectFile was invoked two times in a slightly different way leading to the automation code handling blueprint-only projects in an inconsistent-way during the whole process.

Fixed by modifying DeploymentContext to initialize IsCodeBasedProject by passing both the current platform and configurations.

#preflight 630e6bd0501b64ba334c3c2a
#rb none
#jira UE-162001
#rnx

[CL 21711241 by Wojciech Krywult in ue5-main branch]
2022-08-30 18:18:06 -04:00
Joe Kirchoff
42c8cee3b3 P4Utils: Update output scan to correctly detect submitted changelist if additional output is found due to a p4 extension
#jira UE-161387
#rnx
#rb Ben.Marsh
#preflight 6306c65dc00af5e29492c08f

[CL 21556831 by Joe Kirchoff in ue5-main branch]
2022-08-24 21:00:44 -04:00
gary yuan
d0af43fb02 #jira: FORT-505939
Extended ParamHelp attribute for BuildCommand to better describe the metadata of parameters for UAT scripts.
Update BuildGraph with ParamHelp attributes.

#rb: Eric.Knapik
#preflight: 6303e331c00af5e294fbb7e9

[CL 21525146 by gary yuan in ue5-main branch]
2022-08-23 19:25:33 -04:00
Joe Kirchoff
c800810383 SyncBinariesFromUGS: Retrieve correct compatible changelist using the existing P4Env
Move list of extensions treated as code to common location

#rnx
#rb ben.marsh
#preflight 63052cb8a45b007ea2836cc7

[CL 21518406 by Joe Kirchoff in ue5-main branch]
2022-08-23 16:08:29 -04:00
Ben Marsh
81d512d2f3 Horde: Add matchers for shader compiler errors.
#preflight none
#jira UE-160189

[CL 21517122 by Ben Marsh in ue5-main branch]
2022-08-23 15:28:32 -04:00
Ryan Durand
a5c717fe00 Add "host is down" I/O exception to systemic errors.
#rnx
#jira UE-160064
#rb ryan.hummer
#preflight

[CL 21404052 by Ryan Durand in ue5-main branch]
2022-08-16 09:24:33 -04:00
UnrealBot
73409369c0 Branch snapshot for CL 21319338
[CL 21319338 in ue5-main branch]
2022-08-10 16:03:37 +00:00
andrew grant
499f555538 Restore 21213169
Improvements to BenchmarkBuild script.
- Added -editor-startup and -editor-game options to measure startup and startup time with -game
- Renamed -pie to -editor-pie to match other editor options-
- Allow different editor tests to use different sets of maps via -editor-startup=map2+map2, -editor-pie=map1+map2 etc
- Added AllEditor option to run all editor benchmarking
- Added -coldddc-noshared DDC option
- BenchmarkBuild now defaults to cleaning each targets after benchmarking its build time to save disk space (disable with -nopostclean)
- Moved Editor benchmark tests into separate files and reduced some duplicated code
- Updated help info

Other
- Fixed UAT GetProjectProperties returning inaccurate values if called twice with different platforms
- Doubled number of UBT logs that can be generated from a single UAT script
- Allow scripts to call UnrealBuild.CleanWithUBT to perform cleanup
- Simplified a lot of code

#rb na

#ROBOMERGE-AUTHOR: andrew.grant
#ROBOMERGE-SOURCE: CL 21213895 via CL 21213903 via CL 21213910 via CL 21214414 via CL 21214472
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v972-20964824)

[CL 21214930 by andrew grant in ue5-main branch]
2022-07-22 00:56:39 -04:00
brandon boswell
338ca5c885 Back out changelist 21213169
#ROBOMERGE-AUTHOR: brandon.boswell
#ROBOMERGE-SOURCE: CL 21213801 via CL 21213879 via CL 21213889 via CL 21214176 via CL 21214241
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v972-20964824)

[CL 21214665 by brandon boswell in ue5-main branch]
2022-07-22 00:13:12 -04:00
andrew grant
2a13ce4d7c Improvements to BenchmarkBuild script.
- Added -editor-startup and -editor-game options to measure startup and startup time with -game
- Renamed -pie to -editor-pie to match other editor options
- Allow different editor tests to use different sets of maps via -editor-startup=map2+map2, -editor-pie=map1+map2 etc
- Added AllEditor option to run all editor benchmarking
- Added -coldddc-noshared DDC option
- BenchmarkBuild now defaults to cleaning each targets after benchmarking its build time to save disk space (disable with -nopostclean)
- Moved Editor benchmark tests into separate files and reduced some duplicated code
- Updated help info

Other

- Fixed UAT GetProjectProperties returning inaccurate values if called twice with different platforms
- Doubled number of UBT logs that can be generated from a single UAT script
- Allow scripts to call UnrealBuild.CleanWithUBT to perform cleanup
- Simplified a lot of code

#rb na

#ROBOMERGE-AUTHOR: andrew.grant
#ROBOMERGE-SOURCE: CL 21213169 via CL 21213174 via CL 21213179 via CL 21214155 via CL 21214226
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v972-20964824)

[CL 21214663 by andrew grant in ue5-main branch]
2022-07-22 00:12:59 -04:00
David Harvey
6b48bf288e Turnkey indicates to the platform whether an SDK is already installed when getting the install command, for platforms that need to handle this as a special case (uninstalling the current version, for example).
#jira UE-157918
#rnx
#rb Nuno.Leiria
#preflight 62d66d38185da2495f8281c3

[CL 21159722 by David Harvey in ue5-main branch]
2022-07-19 05:00:41 -04:00
Dan Thompson
7c8f356b9a Removing GetNumCookersToSpawn as it hasn't been used in a long long time.
#jira UE-158607
#preflight 62cc784c173a4f340870d564
#rb matt.peters

[CL 21046824 by Dan Thompson in ue5-main branch]
2022-07-11 16:33:40 -04:00
justin marcus
e489d8065b Unzip optimization for archives with lots of small files
- Remove redunant exists check when creating directories.  Directory.CreateDirectory already does that.
- Use streams directly instead of calling ZipFileExtensions.ExtractToFile.


[REVIEW] [at]Mitchell.Fisher [at]Graeme.Thornton
#preflight https://horde.devtools.epicgames.com/job/62bf34b2b024a2608c89b606

#ROBOMERGE-OWNER: justin.marcus
#ROBOMERGE-AUTHOR: justin.marcus
#ROBOMERGE-SOURCE: CL 20919800 via CL 20919810 via CL 20919999 via CL 20920500
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v971-20777995)

[CL 20923415 by justin marcus in ue5-main branch]
2022-07-01 19:42:38 -04:00
Ryan Hummer
cc00a96d2e Update MacPlatform.ProcessArchivedProject to use safer file IO operations
Added a SafeRenameDirectory similar to SafeReaname file that uses Directory.Move

#rnx
#jira none
#rb none
#preflight 62bf48388d5e6787591b3f8e

[CL 20922943 by Ryan Hummer in ue5-main branch]
2022-07-01 18:52:43 -04:00
mitchell fisher
b748a1fabc [FORT-462269] Add optional flag to suppress logging within GetClientToken()
#rb trivial
#preflight 62b552a2b822fb9c1199ee39

#ROBOMERGE-AUTHOR: mitchell.fisher
#ROBOMERGE-SOURCE: CL 20835333 via CL 20863583 via CL 20875825 via CL 20875948
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v971-20777995)

[CL 20878393 by mitchell fisher in ue5-main branch]
2022-06-29 13:40:10 -04:00
Ryan Hummer
21fd84fa16 Changing the order of sha1 timestamp servers
comodoca isn't preforming very well resulting in over an hour to sign editor files, changing the order results in ~10 minute or less sign time

#rnx
#jira UE-144557
#preflight 62b5b4157c36e1309750a808
#rb none

[CL 20809284 by Ryan Hummer in ue5-main branch]
2022-06-24 10:50:52 -04:00
Ben Marsh
64b6cb04f1 BuildGraph: Fix UDN documentation output.
#preflight none

[CL 20774471 by Ben Marsh in ue5-main branch]
2022-06-22 10:42:19 -04:00
Ben Marsh
9ddd9b05a3 Horde: Remove matchers for generic "BUILD FAILED" messages in UAT. These do not contain any useful information.
#preflight none

[CL 20662461 by Ben Marsh in ue5-main branch]
2022-06-14 20:46:54 -04:00
justin marcus
6c728ff8b9 Build Automation Fixes.
Fix DLCOverrideCookedSubDir  param being used for DLCOverrideStagedSubDir if DLCOverrideStagedSubDir was not specified via commandline.
Don't allow TargetPlatformDescriptor.CookFlavor to be null - it needs to be empty string to be a valid key.
[REVIEW] [at]Graeme.Thornton [at]Daniel.Lamb

#ROBOMERGE-AUTHOR: justin.marcus
#ROBOMERGE-SOURCE: CL 20626127 via CL 20626141 via CL 20626144 via CL 20626147
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v955-20579017)

[CL 20627099 by justin marcus in ue5-main branch]
2022-06-13 10:43:21 -04:00
Ben Marsh
1cdcec3c9e Horde: Restore functionality to ignore systemic events downstream of specific fingerprinted events.
#preflight none

[CL 20581116 by Ben Marsh in ue5-main branch]
2022-06-09 13:58:13 -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
Ben Marsh
3e3deac9d0 BuildGraph: Reformat output from Docker to allow regular pattern matchers to work correctly, and add an MSTest event matcher.
#preflight none

[CL 20580176 by Ben Marsh in ue5-main branch]
2022-06-09 13:18:32 -04:00