Commit Graph

96 Commits

Author SHA1 Message Date
Ben Marsh
7af2532ec9 Horde: Functionality to support multi-agent cooks.
[CL 28065915 by Ben Marsh in ue5-main branch]
2023-09-20 19:32:02 -04:00
Ben Marsh
69db997ab8 BuildGraph: Add an <OnExit> task which schedules a shell command to be executed once a step is finished. When run on Horde, the command is guaranteed to be executed even if UAT terminates.
#preflight none
#fyi Zousar.Shaker

[CL 25764149 by Ben Marsh in ue5-main branch]
2023-06-02 12:12:37 -04:00
Ben Marsh
8849422e29 BuildGraph: Set the correct branch/change values for native buildgraph scripts.
#preflight none

[CL 25246585 by Ben Marsh in ue5-main branch]
2023-04-28 19:49:21 -04:00
Ben Marsh
f191fe1ae1 BuildGraph: Set branch, changelist and code changelist from environment variables even when P4 is not enabled.
#fyi Carl.Bystrom
#preflight none

[CL 25245849 by Ben Marsh in ue5-main branch]
2023-04-28 19:28:21 -04:00
Ben Marsh
d32e8436c1 BuildGraph: Store artifact keys in the tag manifest rather than in the exported graph definition, since they may include non-constant values from build arguments.
#preflight none

[CL 25057984 by Ben Marsh in ue5-main branch]
2023-04-14 21:42:00 -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
b781f56bcb Missing files.
#preflight none

[CL 24554145 by Ben Marsh in ue5-main branch]
2023-03-07 21:56:30 -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
ColdenCullen
f141409cee PR #9104: UAT BuildGraph: Add support for -project flag (Contributed by ColdenCullen)
#preflight 63ed0d0fc9692d7c04e6a642

[CL 24232767 by ColdenCullen in ue5-main branch]
2023-02-15 12:02:59 -05:00
David Harvey
68d54e1d19 Build Graph reports which previous steps created any modified build products.
#rb Ryan.Hummer
#rnx
#preflight 6391cad267018b14b57710d8

[CL 23444704 by David Harvey in ue5-main branch]
2022-12-08 06:35:17 -05:00
gary yuan
e928117511 Fix BuildGraph ParamHelpAttribute for -target parameter is not really required because -SingleNode could be used instead.
#rb Tim.Kennedy
#preflight 632265c78c478acecfe63f44

[CL 22039972 by gary yuan in ue5-main branch]
2022-09-15 18:09:05 -04:00
gary yuan
8be852fca6 Fix typo in string constant for Attribute metadata on BuildGraph BuildCommand
#rb trivial
#preflight skip

[CL 21555167 by gary yuan in ue5-main branch]
2022-08-24 18:52:30 -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
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
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
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
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
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
Ben Marsh
508c144999 Horde: Last batch (hopefully) of static analysis fixes/suppressions.
#preflight 623e144c8073508cfc117a87

[CL 19517822 by Ben Marsh in ue5-main branch]
2022-03-25 15:35:47 -04:00