Skip to content

Commit 51320b7

Browse files
authored
[ci] Use internal-macos-11 for official macOS builds (dotnet#6736)
Context: https://eng.ms/docs/initiatives/executive-order/executive-order-requirements/executiveorderoncybersecurity/buildinfraops Moves our offical macOS build to the `internal-macos-11` build pool as part of ongoing security and compliance efforts. The `VSEng-Xamarin-RedmondMac-Android-Untrusted` pool will continue to be used for PR builds for performance reasons, and it will be updated to macOS 11 over the next week or two. We will also now provision and use Xcode 13.2 when running on macOS 11 machines.
1 parent db56e38 commit 51320b7

File tree

2 files changed

+18
-14
lines changed

2 files changed

+18
-14
lines changed

build-tools/automation/azure-pipelines.yaml

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -66,13 +66,17 @@ variables:
6666
- ${{ if and(or(eq(variables['Build.DefinitionName'], 'Xamarin.Android'), eq(variables['Build.DefinitionName'], 'Xamarin.Android-Private')), ne(variables['Build.Reason'], 'PullRequest')) }}:
6767
- name: MicroBuildSignType
6868
value: Real
69-
- name: VSEngMacBuildPool
70-
value: VSEng-Xamarin-RedmondMac-Android-Trusted
69+
- name: MacBuildPoolName
70+
value: Azure Pipelines
71+
- name: MacBuildPoolImage
72+
value: internal-macos-11
7173
- ${{ if or(and(ne(variables['Build.DefinitionName'],'Xamarin.Android'), ne(variables['Build.DefinitionName'], 'Xamarin.Android-Private')), eq(variables['Build.Reason'], 'PullRequest')) }}:
7274
- name: MicroBuildSignType
7375
value: Test
74-
- name: VSEngMacBuildPool
76+
- name: MacBuildPoolName
7577
value: VSEng-Xamarin-RedmondMac-Android-Untrusted
78+
- name: MacBuildPoolImage
79+
value: ''
7680

7781
# Stage and Job "display names" are shortened because they are combined to form the name of the corresponding GitHub check.
7882
stages:
@@ -84,9 +88,10 @@ stages:
8488
- job: mac_build_create_installers
8589
displayName: Build
8690
pool:
87-
name: $(VSEngMacBuildPool)
88-
demands:
89-
- agent.osversionfamily -equals 10.15
91+
name: $(MacBuildPoolName)
92+
vmImage: $(MacBuildPoolImage)
93+
${{ if eq(variables['MacBuildPoolName'], 'VSEng-Xamarin-RedmondMac-Android-Untrusted') }}:
94+
demands: agent.osversionfamily -equals 10.15
9095
timeoutInMinutes: 180
9196
cancelTimeoutInMinutes: 5
9297
workspace:
@@ -1476,9 +1481,8 @@ stages:
14761481
- job: notarize_pkg_upload_storage
14771482
displayName: Notarize and Upload
14781483
pool:
1479-
name: $(VSEngMacBuildPool)
1480-
demands:
1481-
- agent.osversionfamily -equals 10.15
1484+
name: $(MacBuildPoolName)
1485+
vmImage: $(MacBuildPoolImage)
14821486
timeoutInMinutes: 120
14831487
cancelTimeoutInMinutes: 1
14841488
workspace:

build-tools/provisioning/xcode.csx

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
if (IsMac) {
2-
const string MinMacOSVersion = "10.14.4";
3-
const string MinMacOSVersionForLatestXcode = "10.15.4";
2+
const string MinMacOSVersion = "10.15.4";
3+
const string MinMacOSVersionForLatestXcode = "11.3";
44
if (OSVersion < new Version (MinMacOSVersion))
5-
throw new Exception ($"macOS {MinMacOSVersion} or newer is required for Xcode 11.");
5+
throw new Exception ($"macOS {MinMacOSVersion} or newer is required for Xcode 12.");
66
if (OSVersion >= new Version (MinMacOSVersionForLatestXcode))
7-
Xcode ("12.4").XcodeSelect ();
7+
Xcode ("13.2").XcodeSelect ();
88
else
9-
Xcode ("11.3.1").XcodeSelect ();
9+
Xcode ("12.4").XcodeSelect ();
1010
}

0 commit comments

Comments
 (0)