Commit Graph

369 Commits

Author SHA1 Message Date
Ben Marsh
6ac2c5b01f UAT: Add a systemic error code for Perforce submit failures.
#preflight none

[CL 21078813 by Ben Marsh in ue5-main branch]
2022-07-13 15:59:41 -04:00
Bryan Johnson
0ba12c9497 Add retry for notary-app calls
#jira UE-155720, UE-157669
#rnx
#rb Ryan.Hummer
#preflight 62c5c25e097ca6afc4f24202

[CL 20968956 by Bryan Johnson in ue5-main branch]
2022-07-06 13:18:50 -04:00
Ben Marsh
38f3bc55ef BuildGraph: Various VM improvements.
* Added support for deserializing BgObject types directly into native classes.
* Removed opcodes for creating graph structures. These are now created in user code from BgObject types.
* Removed BgNodeSpecBuilder. BgNode objects can now be modified directly (returning a modified copy).
* Added concrete types for option parameters. The VM now keeps track of any parameters for evaluated options, allowing them to be added into the graph definition.
* Order dependencies now take nodes rather than outputs.
* Added explicit support for native thunks, whose bindings are saved to a sideband channel during compilation and referenced in bytecode as an index. This generalizes code that was previously specific to node definitions.
* Added a name table to bytecode, to optimize situations where we reference the same string mulitple times.

#preflight 62bf3c583f0d6beee2e8f4a6

[CL 20918762 by Ben Marsh in ue5-main branch]
2022-07-01 14:47:54 -04:00
ryan hummer
f91cb75ed7 Add retrying to potential network share failure points in temp storage.
#rnx
#jira UE-156108, UE-158088
#rb ryan.hummer
#preflight 62bdeccded35ee71a70ee5a5

#ushell-cherrypick of 20574535 by Ryan.Durand

#ROBOMERGE-AUTHOR: ryan.hummer
#ROBOMERGE-SOURCE: CL 20901486 in //UE5/Release-5.0/... via CL 20902831
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v971-20777995)

[CL 20905677 by ryan hummer in ue5-main branch]
2022-06-30 18:10:24 -04:00
Ben Marsh
c32dfb7acb BuildGraph: Move option classes alongside their underlying types, and fix up a lot of namespaces.
#preflight none

[CL 20819013 by Ben Marsh in ue5-main branch]
2022-06-24 19:08:20 -04:00
Ben Marsh
bb0e506aac BuildGraph: Rename classes to reduce boilerplate when writing scripts.
* Expression classes (nodes, aggregates, graphs, etc...) are now called BgNode, BgAggregate, etc...
* Evaluated and instantiated objects used by BuildGraph internals are now called BgNodeDef, BgAggregateDef, etc...

#preflight 62b6374161016695a6545b08

[CL 20818158 by Ben Marsh in ue5-main branch]
2022-06-24 18:30:51 -04:00
Ben Marsh
50a74d20ce BuildGraph: Add bytecode compiler and interpreter to allow graph evaluation outside UAT.
#preflight 62b606546067f280916744c8

[CL 20814909 by Ben Marsh in ue5-main branch]
2022-06-24 15:18:50 -04:00
Ben Marsh
601781e498 BuildGraph: Fix exception passing Bg* value types to methods. Need to construct a constant Bg* type rather than passing the wrapped value.
#preflight 62b367ccd76167320e368af6

[CL 20793974 by Ben Marsh in ue5-main branch]
2022-06-23 09:57:56 -04:00
Ben Marsh
1d8d46de10 BuildGraph: Remove unused abstractions added to support reading BuildGraph scripts directly from P4.
#preflight 62b367ccd76167320e368af6

[CL 20781865 by Ben Marsh in ue5-main branch]
2022-06-22 17:14:28 -04:00
Ben Marsh
fe2c895552 Add build steps for static analysis of UBT and UAT, and to test project file generation.
#preflight 62b37e6ad76167320e3a224d

[CL 20781813 by Ben Marsh in ue5-main branch]
2022-06-22 17:12:30 -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
ff46dfcfce BuildGraph: Various refactorings prior to adding bytecode executor.
* Moved XML script parsing into UAT. We don't need to evaluate this in Horde.
* Added custom node types for script and expression nodes, rather than wrapping native nodes with a custom script task.
#preflight 62b31b76650c9d58579b2ea6

[CL 20773724 by Ben Marsh in ue5-main branch]
2022-06-22 09:56:45 -04:00
Ben Marsh
ad092b8fef BuildGraph: Decouple diagnostics from the nodes and agents that contain them.
#preflight 62b1ee341b2d3b6cafcdd33a

[CL 20759421 by Ben Marsh in ue5-main branch]
2022-06-21 12:20:43 -04:00
Ryan Durand
944ea7d415 Safe guard against massive lists of modified files causing a hang in AutomationTool.
#rnx
#jira none
#rb ryan.hummer,ben.marsh
#preflight

[CL 20717184 by Ryan Durand in ue5-main branch]
2022-06-18 06:15:46 -04:00
Chad Garyet
8fc20701f1 Update copy task to exit gracefully if there aren't any files to copy when overwrite=false
#jira UE-155844
#rb ryan.hummer
#preflight none

[CL 20626362 by Chad Garyet in ue5-main branch]
2022-06-13 09:52:51 -04:00
Ryan Hummer
8a3fcafa63 Fix TempStorage Manifest XML Writing
dotnet6 xml serialization nolonger emits new lines, change to using XMLWriter to enable newlines

#rnx
#jira none
#rb ryan.durand
#preflight 62a34bd10251cacef0b2a9e1

[CL 20595487 by Ryan Hummer in ue5-main branch]
2022-06-10 10:45:41 -04:00
Ben Marsh
79c05ae32b Back out EpicGames.Jupiter upgrade to NET 6
#preflight none
#fyi Joe.Kirchoff

[CL 20593495 by Ben Marsh in ue5-main branch]
2022-06-10 07:38:49 -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
Ryan Durand
bf54f10db3 Add retrying to potential network share failure points in temp storage.
#rnx
#jira UE-156108
#rb ryan.hummer
#preflight

[CL 20574535 by Ryan Durand in ue5-main branch]
2022-06-09 08:55:18 -04:00
joe kirchoff
f9a78bdc2d EpicGames.Jupiter: net6.0 upgrade
#rnx
#rb none
#preflight 629e94911c7e8f9a18121cf8

[CL 20530671 by joe kirchoff in ue5-main branch]
2022-06-06 20:04:06 -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
ad3ba4ab43 BuildGraph: Allow use of absolute paths in Include elements.
#jira UE-152589
#preflight 6282aa6fc57a894cf697049d

[CL 20230392 by Ben Marsh in ue5-main branch]
2022-05-16 16:02:27 -04:00
Ryan Durand
d18830bae2 Make FindTagNamesFromList static since it doesn't use any member variables and allows it to be called from other classes.
#rnx
#rb ryan.hummer
#jira none
#preflight

[CL 20080477 by Ryan Durand in ue5-main branch]
2022-05-06 14:07:08 -04:00
carl bystrom
283ad82702 BuildGraph: Add more parameters to Docker-Build task
Supporting BuildKit and .dockerignore files will help improve performance without resorting to temporary staging of files.
#preflight 6275287ed8373707f211ffa8

[CL 20075007 by carl bystrom in ue5-main branch]
2022-05-06 09:58:56 -04:00
Ryan Durand
c2a32ddc91 Couple of temp storage clean up changes to let multiple clean up jobs run less painfully.
* Flag folders as delete in progress to allow other clean up jobs to skip a folder and go to the next one.
* Delete from newest to oldest in an attempt to provide a buffer before multiple jobs will attempt to delete the same folder.

#rnx
#jira UE-150924
#rb ryan.hummer,bryan.johnson
#preflight

[CL 20047320 by Ryan Durand in ue5-main branch]
2022-05-04 15:44:17 -04:00