From 3456b0a71a5380251953203d27c08bd778770cce Mon Sep 17 00:00:00 2001 From: Rolf Bjarne Kvinge Date: Thu, 8 Dec 2016 19:27:49 +0100 Subject: [PATCH 1/3] [jenkins] Make jenkins non-parellel to see if it fixes #46097. --- tests/xharness/Jenkins.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/xharness/Jenkins.cs b/tests/xharness/Jenkins.cs index b136644ea007..a4f0eb859067 100644 --- a/tests/xharness/Jenkins.cs +++ b/tests/xharness/Jenkins.cs @@ -36,7 +36,7 @@ public string LogDirectory { List Tasks = new List (); - internal static Resource DesktopResource = new Resource ("Desktop", Environment.ProcessorCount); + internal static Resource DesktopResource = new Resource ("Desktop", 1); async Task> CreateRunSimulatorTaskAsync (XBuildTask buildTask) { From b027ed69b5abd353de546c7f9e82da9133986367 Mon Sep 17 00:00:00 2001 From: Rolf Bjarne Kvinge Date: Tue, 13 Dec 2016 13:23:40 +0100 Subject: [PATCH 2/3] [jenkins] Limit serialization to watchos builds. --- tests/xharness/Jenkins.cs | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/tests/xharness/Jenkins.cs b/tests/xharness/Jenkins.cs index a4f0eb859067..b8adb97c4f7f 100644 --- a/tests/xharness/Jenkins.cs +++ b/tests/xharness/Jenkins.cs @@ -36,7 +36,7 @@ public string LogDirectory { List Tasks = new List (); - internal static Resource DesktopResource = new Resource ("Desktop", 1); + internal static Resource DesktopResource = new Resource ("Desktop", Environment.ProcessorCount); async Task> CreateRunSimulatorTaskAsync (XBuildTask buildTask) { @@ -931,9 +931,15 @@ protected override async Task ExecuteAsync () class XBuildTask : BuildToolTask { + public bool SupportsParallelBuilds { + get { + return Platform != TestPlatform.watchOS; + } + } + protected override async Task ExecuteAsync () { - using (var resource = await Jenkins.DesktopResource.AcquireConcurrentAsync ()) { + using (var resource = await (SupportsParallelBuilds ? Jenkins.DesktopResource.AcquireConcurrentAsync () : Jenkins.DesktopResource.AcquireExclusiveAsync ())) { using (var xbuild = new Process ()) { xbuild.StartInfo.FileName = "xbuild"; var args = new StringBuilder (); From e611c53e5b193d80452fe0c8dab4f05b0dd2d62c Mon Sep 17 00:00:00 2001 From: Rolf Bjarne Kvinge Date: Tue, 13 Dec 2016 14:27:07 +0100 Subject: [PATCH 3/3] [jenkins] Only allow Mac builds to be paralellized. --- tests/xharness/Jenkins.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/xharness/Jenkins.cs b/tests/xharness/Jenkins.cs index b8adb97c4f7f..86deea2c5fee 100644 --- a/tests/xharness/Jenkins.cs +++ b/tests/xharness/Jenkins.cs @@ -933,7 +933,7 @@ class XBuildTask : BuildToolTask { public bool SupportsParallelBuilds { get { - return Platform != TestPlatform.watchOS; + return Platform.ToString ().StartsWith ("Mac", StringComparison.Ordinal); } }