Commit Graph

36 Commits

Author SHA1 Message Date
Ben Marsh
a6bf064d87 Horde: Allow setting the initial agent type per-stream.
#preflight none
#fyi Bryan.Johnson

[CL 23135676 by Ben Marsh in ue5-main branch]
2022-11-15 10:16:31 -05:00
Ben Marsh
a24e48fa97 Horde: Remove the remaining boolean variable names with a 'b' prefix.
#preflight none

[CL 22600647 by Ben Marsh in ue5-main branch]
2022-10-18 11:08:00 -04:00
Ben Marsh
f6dd5c2092 Horde: Allow commit tag definitions to derive from existing commit tag definitions, using the "Base" property.
#preflight none

[CL 22550729 by Ben Marsh in ue5-main branch]
2022-10-15 21:48:44 -04:00
Ben Marsh
075162706e EpicGames.Core: Fix static analysis warnings.
#preflight 633b4ae16b10157eac6f1f15

[CL 22314153 by Ben Marsh in ue5-main branch]
2022-10-03 17:01:13 -04:00
Josh Engebretson
e1cebf671b Horde: Fix route for v2 streams config endpoint
#jira none
#rnx
#preflight none

[CL 22035028 by Josh Engebretson in ue5-main branch]
2022-09-15 14:50:38 -04:00
Ben Marsh
eb1cf47ad3 Horde: Return the stream config within the stream responses. The dashboard to pass in a config revision string, and the response will excude it if the revision matches.
#preflight none

[CL 22014227 by Ben Marsh in ue5-main branch]
2022-09-14 15:38:33 -04:00
Ben Marsh
817a12a73d Horde: Separate endpoints for retrieving config data and state data.
#preflight none

[CL 22011910 by Ben Marsh in ue5-main branch]
2022-09-14 14:25:06 -04:00
Ben Marsh
197e458aa3 Horde: Add an experimental v2 endpoint for streams, which includes configuration data separately to main response.
#preflight none

[CL 22011659 by Ben Marsh in ue5-main branch]
2022-09-14 14:16:41 -04:00
Ben Marsh
ec4c0c93d9 Horde: Include the "DefaultChange" config value in template responses.
#preflight none

[CL 22007034 by Ben Marsh in ue5-main branch]
2022-09-14 10:28:57 -04:00
Ben Marsh
881f23091d Horde: Add a DefaultChange setting to job templates, which specify queries to be executed to determine the change to run at. If no query matches, the latest change will be used.
#preflight none
#fyi Josh.Engebretson

[CL 21991690 by Ben Marsh in ue5-main branch]
2022-09-13 16:28:54 -04:00
Ben Marsh
56427d91b8 Horde: Allow configuring conditional base changelists to run preflights against.
* DefaultPreflight for a stream now contains a list of ChangeQueryConfig objects, each of which has a condition attached to them.
* Condition can query tags on the change being preflighted (eg. "tag.code == 1")
* ChangeQuery can also filter commits by tag for producing a change to build at.

#preflight none

[CL 21985042 by Ben Marsh in ue5-main branch]
2022-09-13 12:24:30 -04:00
carl bystrom
da0601b6af Horde: Add template ID validation for tabs in stream config
#preflight 6320857de93a80888c3f734a

[CL 21981819 by carl bystrom in ue5-main branch]
2022-09-13 09:32:58 -04:00
Ben Marsh
0828c0b8b6 Horde: Handle cases where deleted streams do not have a valid config file.
#preflight none

[CL 21958745 by Ben Marsh in ue5-main branch]
2022-09-11 10:44:36 -04:00
Ben Marsh
b8235f49f8 Horde: Improve performance of querying large numbers of commits.
* Tags are now only computed on demand.
* Batching for queries that require describe commands reuses connections and stream metadata between iterations.

#preflight none

[CL 21926162 by Ben Marsh in ue5-main branch]
2022-09-09 15:29:39 -04:00
Ben Marsh
7147239bcf Horde: Move commit responses into stream response file.
#preflight none

[CL 21912134 by Ben Marsh in ue5-main branch]
2022-09-08 22:33:54 -04:00
Ben Marsh
19020ebe4b Horde: Add commit tags to stream configuration, allowing commits modifying files matching various wildcards to be tagged as different types (eg. code, content, modifies project X, etc...).
#preflight none

[CL 21903605 by Ben Marsh in ue5-main branch]
2022-09-08 17:14:06 -04:00
Ben Marsh
c1facdd1f9 Horde: Add a cache for Perforce commits.
* Perforce is polled every few seconds for new changes being committed. New changes have transformations done to convert them into "Horde" commits (eg. mapping user ids, parsing changelist descriptions for Robomerge tags) and stores them in the CommitsV2 collection in the database.
* Queries for commits are now done through ICommitCollection, which can use cached data if available. Queries fall back to the legacy P4 implementation if not.

#preflight none

[CL 21897637 by Ben Marsh in ue5-main branch]
2022-09-08 13:40:46 -04:00
Ben Marsh
1bbe504822 Horde: Fix exceptions deserializing paused template steps with a null user id.
#preflight none

[CL 21857173 by Ben Marsh in ue5-main branch]
2022-09-07 14:15:01 -04:00
Ben Marsh
78d66db046 Horde: Abstract Perforce operations behind an ICommitSource interface, exposed as the "Commits" property on stream objects.
#preflight none

[CL 21851191 by Ben Marsh in ue5-main branch]
2022-09-07 10:59:08 -04:00
Ben Marsh
7c719554ee Horde: Separate stream template state into configuration and state objects, allowing us to avoid storing/fetching redundant data in the database.
#preflight none

[CL 21849761 by Ben Marsh in ue5-main branch]
2022-09-07 10:02:38 -04:00
Ben Marsh
8c34060a35 Horde: Use config classes to configure stream tabs.
#preflight none

[CL 21801492 by Ben Marsh in ue5-main branch]
2022-09-05 15:30:22 -04:00
Ben Marsh
d55dcc88e0 Horde: Remove redundant copy of default preflight information from stream document.
#preflight none

[CL 21799650 by Ben Marsh in ue5-main branch]
2022-09-05 13:02:11 -04:00
Ben Marsh
c00b2487b3 Horde: Move redundant stream configuration properties from MongoDB, and reference the data directly from the StreamConfig class.
#preflight none

[CL 21799108 by Ben Marsh in ue5-main branch]
2022-09-05 12:42:14 -04:00
Ben Marsh
4783b95017 Horde: Move config classes for agents and workspaces next to StreamConfig, and remove request/response naming convention now that config is data driven.
#preflight none

[CL 21793570 by Ben Marsh in ue5-main branch]
2022-09-05 10:33:46 -04:00
Ben Marsh
a438e0a8d3 Horde: Use the ICommit interface to represent all commits enumerated by IPerforceService, as a prelude to being able to return cached instances.
#preflight none

[CL 21781593 by Ben Marsh in ue5-main branch]
2022-09-04 05:39:44 -04:00