diff --git a/.azure/pipelines/ci.yml b/.azure/pipelines/ci.yml index 1941bd560dcd71cb932e03115085ff5f8b5dbdec..ea31f8dca42af0fd556419e6ea39244cc5ae86c7 100644 --- a/.azure/pipelines/ci.yml +++ b/.azure/pipelines/ci.yml @@ -326,11 +326,43 @@ stages: publishFeedCredentials: 'DevDiv - VS package feed' - # Build MacOS + # Build MacOS arm64 + - template: jobs/default-build.yml + parameters: + jobName: MacOs_arm64_build + jobDisplayName: "Build: macOS arm64" + agentOs: macOs + buildArgs: + --arch arm64 + --pack + --all + --no-build-nodejs + --no-build-java + -p:OnlyPackPlatformSpecificPackages=true + -p:AssetManifestFileName=aspnetcore-MacOS_arm64.xml + $(_BuildArgs) + $(_PublishArgs) + $(_InternalRuntimeDownloadArgs) + installNodeJs: false + installJdk: false + artifacts: + - name: MacOS_arm64_Logs + path: artifacts/log/ + publishOnError: true + includeForks: true + - name: MacOS_arm64_Packages + path: artifacts/packages/ + + - ${{ if ne(variables['PostBuildSign'], 'true') }}: + - template: jobs/codesign-xplat.yml + parameters: + inputName: MacOS_arm64 + + # Build MacOS x64 - template: jobs/default-build.yml parameters: jobName: MacOs_x64_build - jobDisplayName: "Build: macOS" + jobDisplayName: "Build: macOS x64" agentOs: macOs buildArgs: --pack @@ -787,6 +819,7 @@ stages: - Windows_arm_build - Windows_arm64_build - ${{ if ne(variables['PostBuildSign'], 'true') }}: + - CodeSign_Xplat_MacOS_arm64 - CodeSign_Xplat_MacOS_x64 - CodeSign_Xplat_Linux_x64 - CodeSign_Xplat_Linux_arm diff --git a/.azure/pipelines/jobs/default-build.yml b/.azure/pipelines/jobs/default-build.yml index 8383409fe902fbdcb4fb0fcea4a3af6b57c2628d..cd082b9444e2454a5558b2545bb842279d8ed6c7 100644 --- a/.azure/pipelines/jobs/default-build.yml +++ b/.azure/pipelines/jobs/default-build.yml @@ -92,7 +92,7 @@ jobs: # See https://github.com/dotnet/arcade/blob/master/Documentation/ChoosingAMachinePool.md pool: ${{ if eq(parameters.agentOs, 'macOS') }}: - vmImage: macOS-10.14 + vmImage: macOS-10.15 ${{ if eq(parameters.agentOs, 'Linux') }}: ${{ if eq(parameters.useHostedUbuntu, true) }}: vmImage: ubuntu-16.04 @@ -143,6 +143,9 @@ jobs: - ${{ if ne(parameters.agentOs, 'Windows') }}: - script: df -h displayName: Disk size + - ${{ if eq(parameters.agentOs, 'macOS') }}: + - script: sudo xcode-select -s /Applications/Xcode_12.2.app/Contents/Developer + displayName: Use XCode 12.2 - checkout: self clean: true - ${{ if and(eq(parameters.agentOs, 'Windows'), eq(parameters.isTestingJob, true)) }}: diff --git a/Directory.Build.props b/Directory.Build.props index 4abbbfb80dc77abf5fd05796fbeeb7e590583755..01b78c435d0d97a3c7f5214a85b6c01a4d304f4a 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -146,6 +146,7 @@ win-arm; win-arm64; osx-x64; + osx-arm64; linux-musl-x64; linux-musl-arm; linux-musl-arm64; diff --git a/eng/Dependencies.props b/eng/Dependencies.props index a0acb2d7924b7d77230726ea55284b5aca79b123..07684202d9058d4447ccb6c3334bdc311ab99239 100644 --- a/eng/Dependencies.props +++ b/eng/Dependencies.props @@ -90,6 +90,7 @@ and are generated based on the last package release. <LatestPackageReference Include="Microsoft.NETCore.App.Runtime.win-arm" /> <LatestPackageReference Include="Microsoft.NETCore.App.Runtime.win-arm64" /> <LatestPackageReference Include="Microsoft.NETCore.App.Runtime.osx-x64" /> + <LatestPackageReference Include="Microsoft.NETCore.App.Runtime.osx-arm64" /> <LatestPackageReference Include="Microsoft.NETCore.App.Runtime.linux-x64" /> <LatestPackageReference Include="Microsoft.NETCore.App.Runtime.linux-arm" /> <LatestPackageReference Include="Microsoft.NETCore.App.Runtime.linux-arm64" />