Skip to content
This repository has been archived by the owner on May 1, 2024. It is now read-only.

Increase pool timeout, provision less for osx builds, specify Android pools #10671

Merged
merged 15 commits into from May 14, 2020
6 changes: 5 additions & 1 deletion azure-pipelines.yml
Expand Up @@ -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)
Expand All @@ -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
Expand All @@ -230,6 +232,8 @@ stages:
dependsOn: []
jobs:
- job: osx
${{ if eq(variables['System.TeamProject'], 'devdiv') }}:
timeoutInMinutes: 120
workspace:
clean: all
displayName: OSX Phase
Expand Down
97 changes: 40 additions & 57 deletions 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/"))
Expand All @@ -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
{
Expand All @@ -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);

}

Expand Down
8 changes: 4 additions & 4 deletions 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
Expand All @@ -14,15 +14,15 @@ parameters:
monoVersion: $(MONO_VERSION)
provisionatorPath: 'build/provisioning/provisioning.csx'
provisionatorExtraArguments: ''

jobs:
- job: ${{ parameters.name }}
workspace:
clean: all
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:
Expand Down