diff --git a/azure-pipelines.yml b/azure-pipelines.yml index ce56104a02ce..dc8243e1d7c4 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -202,7 +202,8 @@ stages: jobs: - template: build/steps/build-android.yml parameters: - vmImage: $(macOSXVmImage) + vmPool: $[coalesce(variables.macAndroid2019VmPool, 'Azure Pipelines')] + vmImage: $[coalesce(variables.macAndroid2019VmImage, 'macOS-10.15')] provisionatorPath : 'build/provisioning/provisioning.csx' buildForVS2017: false buildConfiguration: $(DefaultBuildConfiguration) @@ -217,6 +218,7 @@ stages: jobs: - template: build/steps/build-android.yml parameters: + vmPool: $[coalesce(variables.macAndroid2017VmPool, 'Azure Pipelines')] vmImage: 'macOS-10.14' provisionatorPath : 'build/provisioning/provisioning.csx' buildForVS2017: true @@ -230,6 +232,8 @@ stages: dependsOn: [] jobs: - job: osx + ${{ if eq(variables['System.TeamProject'], 'devdiv') }}: + timeoutInMinutes: 120 workspace: clean: all displayName: OSX Phase diff --git a/build/provisioning/provisioning.csx b/build/provisioning/provisioning.csx index 51394d6c62c5..16f09cd4c0d5 100644 --- a/build/provisioning/provisioning.csx +++ b/build/provisioning/provisioning.csx @@ -1,21 +1,3 @@ -string monoMajorVersion = "6.8.0"; -string monoPatchVersion = "123"; -string monoVersion = $"{monoMajorVersion}.{monoPatchVersion}"; - -string monoSDK_windows = "";//$"https://download.mono-project.com/archive/{monoMajorVersion}/windows-installer/mono-{monoVersion}-x64-0.msi"; -string androidSDK_windows = "";//"https://download.visualstudio.microsoft.com/download/pr/1131a8f5-99f5-4326-93b1-f5827b54ecd5/e7bd0f680004131157a22982c389b05f2d3698cc04fab3901ce2d7ded47ad8e0/Xamarin.Android.Sdk-10.0.0.43.vsix"; -string iOSSDK_windows = ""; -string macSDK_windows = ""; - -string androidSDK_macos = "";//"https://download.visualstudio.microsoft.com/download/pr/8f94ca38-039a-4c9f-a51a-a6cb33c76a8c/aa46188c5f7a2e0c6f2d4bd4dc261604/xamarin.android-10.2.0.100.pkg"; -string monoSDK_macos = "";//$"https://download.visualstudio.microsoft.com/download/pr/8f94ca38-039a-4c9f-a51a-a6cb33c76a8c/3a376d8c817ec4d720ecca2d95ceb4c1/monoframework-mdk-6.8.0.123.macos10.xamarin.universal.pkg"; -string iOSSDK_macos = "";//$"https://download.visualstudio.microsoft.com/download/pr/6e56949e-1beb-4550-abf9-ff404868de82/cf7090bee19401076987a57cd12f11e5/xamarin.ios-13.16.0.11.pkg"; -string macSDK_macos = "";//$"https://download.visualstudio.microsoft.com/download/pr/6e56949e-1beb-4550-abf9-ff404868de82/547895e66c0543faccb25933d8691371/xamarin.mac-6.16.0.11.pkg"; - - - -Console.WriteLine ("buildForVS2017: {0}", Environment.GetEnvironmentVariable ("buildForVS2017")); - if (IsMac) { if (!Directory.Exists ("/Library/Frameworks/Mono.framework/Versions/Current/Commands/")) @@ -32,46 +14,63 @@ if (IsMac) Console.WriteLine ("IOS_SDK_MAC: {0}", Environment.GetEnvironmentVariable ("IOS_SDK_MAC")); Console.WriteLine ("MONO_SDK_MAC: {0}", Environment.GetEnvironmentVariable ("MONO_SDK_MAC")); Console.WriteLine ("MAC_SDK_MAC: {0}", Environment.GetEnvironmentVariable ("MAC_SDK_MAC")); + Console.WriteLine ("releaseChannel: {0}", releaseChannel); + + bool specificSdkSet = false; - if(releaseChannel == "Preview") + if(!String.IsNullOrWhiteSpace(Environment.GetEnvironmentVariable ("MONO_SDK_MAC"))) { - XamarinChannel("Preview"); - } - else{ - XamarinChannel("Stable"); + Item ("Mono") + .Source (_ => Environment.GetEnvironmentVariable ("MONO_SDK_MAC")); + + specificSdkSet = true; } if(!String.IsNullOrWhiteSpace(Environment.GetEnvironmentVariable ("ANDROID_SDK_MAC"))) + { Item ("Xamarin.Android") .Source (_ => Environment.GetEnvironmentVariable ("ANDROID_SDK_MAC")); + specificSdkSet = true; + } + if(!String.IsNullOrWhiteSpace(Environment.GetEnvironmentVariable ("IOS_SDK_MAC"))) + { Item ("Xamarin.iOS") .Source (_ => Environment.GetEnvironmentVariable ("IOS_SDK_MAC")); - if(!String.IsNullOrWhiteSpace(Environment.GetEnvironmentVariable ("MONO_SDK_MAC"))) - Item ("Mono") - .Source (_ => Environment.GetEnvironmentVariable ("MONO_SDK_MAC")); + + specificSdkSet = true; + } if(!String.IsNullOrWhiteSpace(Environment.GetEnvironmentVariable ("MAC_SDK_MAC"))) + { Item ("Xamarin.Mac") .Source (_ => Environment.GetEnvironmentVariable ("MAC_SDK_MAC")); - if(!String.IsNullOrEmpty(monoSDK_macos)) - Item ("Mono", monoVersion) - .Source (_ => monoSDK_macos); - - if(!String.IsNullOrEmpty(androidSDK_macos)) - Item ("Xamarin.Android", "10.2.0.100") - .Source (_ => androidSDK_macos); - - if(!String.IsNullOrEmpty(iOSSDK_macos)) - Item ("Xamarin.iOS", "13.16.0.11") - .Source (_ => iOSSDK_macos); - - if(!String.IsNullOrEmpty(macSDK_macos)) - Item ("Xamarin.Mac", "6.16.0.11") - .Source (_ => macSDK_macos); + specificSdkSet = true; + } + + if(!specificSdkSet) + { + if(releaseChannel == "Beta") + { + Item ("Xamarin.Mac") + .Source (_ => "https://xamci.azurewebsites.net/dl/xamarin/xamarin-macios/d16-5-xcode11.5/PKG-Xamarin.Mac-notarized"); + + Item ("Xamarin.iOS") + .Source (_ => "https://xamci.azurewebsites.net/dl/xamarin/xamarin-macios/d16-5-xcode11.5/PKG-Xamarin.iOS-notarized"); + + } + else if(releaseChannel == "Preview") + { + XamarinChannel("Preview"); + } + else if(releaseChannel == "Stable") + { + XamarinChannel("Stable"); + } + } } else { @@ -91,22 +90,6 @@ else if(!String.IsNullOrWhiteSpace(Environment.GetEnvironmentVariable ("MAC_SDK_WINDOWS"))) Item ("Xamarin.Mac") .Source (_ => Environment.GetEnvironmentVariable ("MAC_SDK_WINDOWS")); - - if(!String.IsNullOrEmpty(androidSDK_windows)) - Item ("Xamarin.Android", "10.0.0.43") - .Source (_ => androidSDK_windows); - - if(!String.IsNullOrEmpty(iOSSDK_windows)) - Item ("Xamarin.iOS", "13.2.0.42") - .Source (_ => iOSSDK_windows); - - if(!String.IsNullOrEmpty(macSDK_windows)) - Item ("Xamarin.Mac", "6.2.0.42") - .Source (_ => macSDK_windows); - - if(!String.IsNullOrEmpty(monoSDK_windows)) - Item ("Mono", monoVersion) - .Source (_ => monoSDK_windows); } diff --git a/build/steps/build-android.yml b/build/steps/build-android.yml index a320d3f21aea..b3f09cdf63a5 100644 --- a/build/steps/build-android.yml +++ b/build/steps/build-android.yml @@ -1,8 +1,8 @@ parameters: name: '' # in the form type_platform_host displayName: '' # the human name - vmImage: '' # the VM image - vmPool: '' # the VM pool + vmImage: 'macOS-10.15' # the VM image + vmPool: 'Azure Pipelines' # the VM pool dependsOn: [] # the dependiencies preBuildSteps: [] # any steps to run before the build postBuildSteps: [] # any additional steps to run after the build @@ -14,7 +14,6 @@ parameters: monoVersion: $(MONO_VERSION) provisionatorPath: 'build/provisioning/provisioning.csx' provisionatorExtraArguments: '' - jobs: - job: ${{ parameters.name }} workspace: @@ -22,7 +21,8 @@ jobs: displayName: ${{ parameters.displayName }} timeoutInMinutes: 120 pool: - vmImage: ${{ parameters.vmImage }} + name: ${{ coalesce(parameters.vmPool, 'Azure Pipelines') }} + vmImage: ${{ coalesce(parameters.vmImage, 'macOS-10.15') }} dependsOn: ${{ parameters.dependsOn }} strategy: matrix: