Hey everyone,
We have been using Horde’s slack integration pretty heavily in order to notify users asap on build breakage and it has been working great. We’re running a lot of validator templates for perpetually cooking, compiling blueprints etc so we’re catching issues and triaging them very quickly. But I’ve noticed that when errors happen, nodes that contain warnings are worse at figuring out the correct suspect commit compared to nodes that had runs with no warnings
I’ve confirmed that Horde is properly including the file information on the fingerprints and having the asset’s relativePath on the event properties for example. But from what I can tell, due to this code on IssueService.cs:
IJobStepRef? prevJob = await _jobStepRefs.GetPrevStepForNodeAsync(job.StreamId, job.TemplateId, node.Name, job.CommitId, JobStepOutcome.Success, true);
only job steps with JobStepOutcome.Success will be considered for suspect detection, so for example since our CompileBlueprints validation step always had warnings, it’s completely skipping the suspect detection
Due to our validation nodes having a lot of warnings, we use the workflow option `“triageWarnings”: false` in order to focus on errors for triaging, and even the `“CreateWarningIssues”: “false”` annotation option so no warning issue is created from this, but there’s no setting from what I can tell to affect the above functionality. The only way I found was setting `NotifyOnWarnings=“false”` on the node level in buildgraph which downgrades all LogEvents from Warning to Information.
This seems to work, but it’s scary as it makes warnings much less visible (job step appearing green) and it’s pretty cumbersome as it can’t be set on the Template/Workflow level and instead needs to be provided to each Node on the Buildgraph level (even though its value can be handled by an option and provided by the template)
Let me know if I’ve missed something. We’re building Horde from the ue5-main git branch so it’s the latest changes
Thank you