private static async Task DrainPoisonQueue() { var account = GetStorageAccount(); var client = account.CreateCloudQueueClient(); var queue = client.GetQueueReference($"{AzureConstants.QueueNames.BuildEvent}-poison"); var populator = new BuildTablePopulator(account.CreateCloudTableClient(), CreateClient(), Console.Out); var set = new HashSet <BuildId>(); do { var message = await queue.GetMessageAsync(); var obj = JObject.Parse(message.AsString); var jobPath = obj.Value <string>("jobName"); var number = obj.Value <int>("number"); var buildId = new BuildId(number, JenkinsUtil.ConvertPathToJobId(jobPath)); if (!set.Add(buildId)) { continue; } await populator.PopulateBuild(buildId); await queue.DeleteMessageAsync(message); } while (true); }
private static async Task TestJob() { var jobUrlStr = "http://dotnet-ci.cloudapp.net/job/Private/job/dotnet_roslyn-internal/job/microupdate/job/windows_vsi_p2/8/"; var uri = new Uri(jobUrlStr); var parts = uri.PathAndQuery.Split(new[] { '/' }, StringSplitOptions.RemoveEmptyEntries); var jobPath = string.Join("/", parts.Take(parts.Length - 1)); var number = int.Parse(parts.Last()); var jobId = JenkinsUtil.ConvertPathToJobId(jobPath); var buildId = new BuildId(number, jobId); var account = GetStorageAccount(); var populator = new BuildTablePopulator(account.CreateCloudTableClient(), CreateClient(), Console.Out); await populator.PopulateBuild(buildId); }
public void Private() { var jobId = JenkinsUtil.ConvertPathToJobId("job/Private/job/dotnet_debuggertests/job/master/job/linux_dbg/"); Assert.Equal("dotnet_debuggertests", AzureUtil.GetViewName(jobId)); }
public void PrivateRoslyn() { var jobId = JenkinsUtil.ConvertPathToJobId("job/Private/job/dotnet_roslyn-internal/job/master/job/windows_debug_eta/"); Assert.Equal("dotnet_roslyn", AzureUtil.GetViewName(jobId)); }
private static void Test(string path, JobId id) { Assert.Equal(path, JenkinsUtil.ConvertJobIdToPath(id)); Assert.Equal(id, JenkinsUtil.ConvertPathToJobId(path)); }