Commit Graph

100 Commits

Author SHA1 Message Date
ben marsh
694e049f9c BuildGraph: Enable nullable annotations for some BuildGraph files.
[CL 33102600 by ben marsh in ue5-main branch]
2024-04-19 10:39:08 -04:00
ben marsh
1db0da441d BuildGraph: Allow specifying an IgnoreModified flag on node attributes to ignore mismatched timestamps/lengths of files matching a particular pattern (accepts p4-style wildcards and multiple rules separated by semicolons).
[FYI] Eric.Knapik

[CL 32997469 by ben marsh in ue5-main branch]
2024-04-16 07:46:44 -04:00
ben marsh
d3e912d7ac Horde: Only export nodes to Horde that are referenced by the initial job parameters, unless -AllowTargetChanges is specified. Prevents data being copied to temp storage that will never be used unless the target list changes.
[FYI] Bryan.Johnson
#jira UE-197565

[CL 32616221 by ben marsh in ue5-main branch]
2024-03-29 12:13:58 -04:00
ben marsh
d45e9a8912 Horde: Add output artifacts to the graph from the exported BuildGraph definition.
#jira UE-209346

[CL 32281799 by ben marsh in ue5-main branch]
2024-03-15 15:15:38 -04:00
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