53 references to JobClassification
AnalyzeCiFailure (28)
AnalysisValidator.cs (1)
58if (proposal.Jobs.Single(decision => decision.JobId == job.Id).Classification != JobClassification.TransientInfrastructure)
CiFailureJson.cs (1)
29new ExactEnumConverter<JobClassification>(),
Models\RunSummaryContracts.cs (2)
33public JobClassification? Classification { get; init; } 120public JobClassification? Classification { get; init; }
Models\TransientContracts.cs (1)
201public required JobClassification Classification { get; init; }
TransientJson.cs (1)
30new StrictEnumConverter<JobClassification>(),
ValidationRules.cs (22)
32if (!(analysis.Jobs.Length > 0 && analysis.Jobs.All(j => j.Classification is JobClassification.TransientInfrastructure or JobClassification.FlakyTest or JobClassification.CodeIssue or JobClassification.MainRepositoryBreakage))) 44if (analysis.Jobs.Any(j => (run.Scope == RunScope.Main && j.Classification == JobClassification.CodeIssue) || 45(run.Scope == RunScope.PullRequest && j.Classification == JobClassification.MainRepositoryBreakage))) 92CauseType.InfrastructureFailure => classification == JobClassification.TransientInfrastructure, 93CauseType.MainRepositoryBreakage => classification == JobClassification.MainRepositoryBreakage, 94CauseType.FlakyTest => classification == JobClassification.FlakyTest || 95(classification is JobClassification.CodeIssue or JobClassification.MainRepositoryBreakage && hasFlakyTestInJob), 125var infraJobs = analysis.Jobs.Count(j => j.Classification == JobClassification.TransientInfrastructure); 126var flakyJobs = analysis.Jobs.Count(j => j.Classification == JobClassification.FlakyTest); 127var codeJobs = analysis.Jobs.Count(j => j.Classification == JobClassification.CodeIssue); 128var mainJobs = analysis.Jobs.Count(j => j.Classification == JobClassification.MainRepositoryBreakage); 195var infraJobs = analysis.Jobs.Count(job => job.Classification == JobClassification.TransientInfrastructure); 196var mainJobs = analysis.Jobs.Count(job => job.Classification == JobClassification.MainRepositoryBreakage); 197var hasFlakyEvidence = analysis.Jobs.Any(job => job.Classification == JobClassification.FlakyTest) || 214if (!analysis.Jobs.Any(job => job.NormalizedId == test.NormalizedJobId && job.Classification == JobClassification.TransientInfrastructure) || 224JobClassification.TransientInfrastructure => CauseType.InfrastructureFailure, 225JobClassification.FlakyTest => CauseType.FlakyTest, 226JobClassification.MainRepositoryBreakage => CauseType.MainRepositoryBreakage,
AnalyzeCiFailure.Tests (25)
AnalyzeCiFailureBestEffortTests.cs (1)
26Jobs = [new ProposedJobDecision { JobId = 123, Classification = JobClassification.MainRepositoryBreakage, Reason = "Claimed repository failure" }],
AnalyzeCiFailureCSharpRerunTests.cs (1)
84proposal = proposal with { Jobs = [proposal.Jobs[0] with { Classification = JobClassification.CodeIssue }], Causes = [] };
AnalyzeCiFailureEnumTests.cs (2)
40Assert.ThrowsAny<JsonException>(() => CiFailureJson.ToContract<JobClassification>(value)); 55jobs = Enum.GetValues<JobClassification>(),
AnalyzeCiFailureFixtures.cs (2)
40Jobs = evidence.Jobs.Select(job => new ProposedJobDecision { JobId = job.Id, Classification = JobClassification.TransientInfrastructure, Reason = "Runner lost" }).ToImmutableArray(), 233Classification = CiFailureJson.ReadEnum<JobClassification>(CiFailureJson.Text(job?["classification"]), "Job classification is invalid"),
AnalyzeCiFailureMigrationTests.cs (3)
46Jobs = [new ProposedJobDecision { JobId = 123, Classification = JobClassification.FlakyTest, Reason = "Timeout" }], 159Jobs = [new ProposedJobDecision { JobId = 123, Classification = JobClassification.FlakyTest, Reason = "Timeout" }], 520Jobs = evidence.Jobs.Select(job => new ProposedJobDecision { JobId = job.Id, Classification = JobClassification.FlakyTest, Reason = "Current timeout" }).ToImmutableArray(),
AnalyzeCiFailureOverflowTests.cs (1)
269Jobs = [new ProposedJobDecision { JobId = 123, Classification = JobClassification.FlakyTest, Reason = "Independent timeouts" }],
AnalyzeCiFailureRuleTests.cs (1)
560private static AnalysisJob Job(string id, string classification) => new() { Id = CiFailureJson.ToContract<System.Text.Json.JsonElement>(CiFailureJson.Parse(id)), Classification = Value<JobClassification>(classification) };
AnalyzeCiFailureTemplateTests.cs (4)
22var classification = verdict switch 24"TransientInfrastructure" => JobClassification.TransientInfrastructure, 25"CodeIssue" => JobClassification.CodeIssue, 26_ => JobClassification.FlakyTest,
AnalyzeCiFailureTransientContractTests.cs (1)
203Jobs = [proposal.Jobs[0] with { Classification = JobClassification.TransientInfrastructure }],
AnalyzeCiFailureVerdictMatrixTests.cs (9)
22foreach (var first in Enum.GetValues<JobClassification>()) 24foreach (var second in Enum.GetValues<JobClassification>().Select(value => (JobClassification?)value).Prepend(element: null)) 44.Where(item => item.jobClass != JobClassification.CodeIssue) 50JobClassification.TransientInfrastructure => CauseType.InfrastructureFailure, 51JobClassification.FlakyTest => CauseType.FlakyTest, 55item.jobClass == JobClassification.FlakyTest 60if (testClass == TestClassification.Flaky && first != JobClassification.FlakyTest)