# Copyright (c) Microsoft. All rights reserved. # Licensed under the MIT license. See LICENSE file in the project root for full license information. trigger: none pool: vmImage: 'macos-latest' steps: - checkout: self - task: Bash@3 displayName: Create directories inputs: targetType: 'inline' script: | mkdir -p $(Agent.TempDirectory)/BuildXLMacOS/InteropLibrary mkdir -p $(Agent.TempDirectory)/BuildXLMacOS/pkg rm -rf $(Agent.TempDirectory)/BuildXLMacOS/InteropLibrary/* workingDirectory: '$(Agent.TempDirectory)' - task: Bash@3 displayName: Build Release libBuildXLInterop.dylib inputs: filePath: '$(Build.SourcesDirectory)/Private/macOS/xcodebuild.sh' arguments: '--projectPath $(Build.SourcesDirectory)/Public/Src/Sandbox/MacOs/Interop/Interop.xcodeproj --scheme InteropLibrary --configuration release --outputDirectory $(Agent.TempDirectory)/BuildXLMacOS/InteropLibrary --bundlePath $(Build.SourcesDirectory)/Public/Src/Sandbox/MacOs/BundleInfo.xcconfig' workingDirectory: '$(Agent.TempDirectory)/BuildXLMacOS' - task: Bash@3 displayName: Prepare Nuget Package directory inputs: filePath: '$(Build.SourcesDirectory)/Private/macOS/prepare-macos-runtime-package.sh' arguments: '--packageVersion $(Build.BuildNumber) --interopBuildDirectory $(Agent.TempDirectory)/BuildXLMacOS/InteropLibrary --outputDirectory $(Agent.TempDirectory)/BuildXLMacOS/InteropLibrary/nugetpkg' workingDirectory: '$(Agent.TempDirectory)/BuildXLMacOS' - task: NuGetCommand@2 displayName: '📦 Pack Nuget Package' inputs: command: 'pack' packagesToPack: '$(Agent.TempDirectory)/BuildXLMacOS/InteropLibrary/nugetpkg/Microsoft.BuildXL.Interop.Runtime.osx-x64.nuspec' packDestination: '$(Agent.TempDirectory)/BuildXLMacOS/pkg' versioningScheme: 'off' - template: /.azdo/common/generate-access-token.yml parameters: AccessTokenVariable: BuildXL-Pipeline-AccessToken - template: /.azdo/common/set-nuget-endpoint.yml parameters: NuGetServiceConnectionId: 'af9cb8db-5f2f-4b3e-b436-e1ff62614888' NuGetServiceConnectionName: 'mseng-Domino-BuildXL-1ESSharedAssets_BuildXL' AccessToken: $(BuildXL-Pipeline-AccessToken) - task: NuGetCommand@2 displayName: '📦 Push NuGet packages to to 1essharedassets/BuildXL feed' inputs: command: 'push' packagesToPush: '$(Agent.TempDirectory)/BuildXLMacOS/pkg/*.nupkg' nuGetFeedType: 'external' publishFeedCredentials: 'mseng-Domino-BuildXL-1ESSharedAssets_BuildXL' - template: /.azdo/common/set-nuget-endpoint.yml parameters: NuGetServiceConnectionId: 'b1f5597b-366e-4e8a-9e2a-5d3fc870947a' NuGetServiceConnectionName: 'mseng-Domino-BuildXL-ms_BuildXL_BuildXL' AccessToken: $(BuildXL-Pipeline-AccessToken) - task: NuGetCommand@2 displayName: '📦 Push NuGet packages to to ms/BuildXL/BuildXL feed' inputs: command: 'push' packagesToPush: '$(Agent.TempDirectory)/BuildXLMacOS/pkg/*.nupkg' nuGetFeedType: 'external' publishFeedCredentials: 'mseng-Domino-BuildXL-ms_BuildXL_BuildXL'