/// <summary> /// Print out the Mac times comparing the Mac Minis to the Powerbooks /// </summary> private static void PrintMacTimes() { var client = CreateClient(); var miniTimes = new List <TimeSpan>(); var proTimes = new List <TimeSpan>(); foreach (var buildId in client.GetBuildIds(new JobId("roslyn_prtest_mac_dbg_unit32", JobId.Root))) { var buildInfo = client.GetBuildInfo(buildId); var result = client.GetBuildResult(buildInfo); if (result.State != BuildState.Succeeded) { continue; } var time = result.BuildInfo.Duration; var json = client.GetJson(JenkinsUtil.GetBuildPath(buildId), tree: "builtOn"); var name = json.Value <string>("builtOn"); if (name.Contains("macpro")) { proTimes.Add(time); } else { miniTimes.Add(time); } } Console.WriteLine($"Pro Average: {TimeSpan.FromMilliseconds(proTimes.Average(x => x.TotalMilliseconds))}"); Console.WriteLine($"Mini Average: {TimeSpan.FromMilliseconds(miniTimes.Average(x => x.TotalMilliseconds))}"); }
internal void AddJson( BuildId buildId, string buildInfoJson = null, string buildResultJson = null, string failureInfoJson = null, string testReportJson = null) { var buildPath = $"{JenkinsUtil.GetBuildPath(buildId)}api/json"; if (buildInfoJson != null) { AddJsonCore(buildInfoJson, buildPath, tree: JsonUtil.BuildInfoTreeFilter); } if (buildResultJson != null) { AddJsonCore(buildResultJson, buildPath); } if (failureInfoJson != null) { AddJsonCore(failureInfoJson, buildPath, depth: 4); } if (testReportJson != null) { var testReportPath = $"{JenkinsUtil.GetBuildPath(buildId)}testReport/api/json"; AddJsonCore(testReportJson, testReportPath); } }
private OS GetOsForBuild(BuildId buildId) { var json = _client.GetJson(JenkinsUtil.GetBuildPath(buildId), tree: "builtOn[*]"); var computer = json.Value <string>("builtOn"); OS os; if (!string.IsNullOrEmpty(computer) && _computerNameMap.TryGetValue(computer, out os)) { return(os); } return(OS.Unknown); }
private string GetApiPath(BuildId buildId) { return($"{JenkinsUtil.GetBuildPath(buildId)}api/json"); }
public void GetBuildPath() { Assert.Equal("job/test/2/", JenkinsUtil.GetBuildPath(new BuildId(2, JobId.ParseName("test")))); Assert.Equal("job/test/job/op/13/", JenkinsUtil.GetBuildPath(new BuildId(13, JobId.ParseName("test/op")))); }