# Copyright (c) Microsoft Corporation. # SPDX-License-Identifier: MIT # parameters: - name: poolName type: string - name: mode type: string values: - 'AllPorts' - 'NonTensorflow' - 'OnlyTensorflow' - name: jobName type: string default: x64_osx jobs: - job: "${{ parameters.jobName }}" pool: name: ${{ parameters.poolName }} workspace: clean: resources timeoutInMinutes: 1440 # 1 day variables: - name: WORKING_ROOT value: /Users/vagrant/Data - name: VCPKG_DOWNLOADS value: /Users/vagrant/Data/downloads - group: vcpkg-binary-caching-credentials - name: X_VCPKG_BINARY_SOURCE_STUB value: "x-azblob,$(root-bin-url),$(sas-bin)" - group: vcpkg-asset-caching-credentials - name: X_VCPKG_ASSET_SOURCES value: "x-azurl,$(root-url),$(sas),readwrite" - name: PowershellExtraArguments ${{ if eq(parameters.mode, 'AllPorts') }}: value: '' ${{ if eq(parameters.mode, 'NonTensorflow') }}: value: "-AdditionalSkips @('tensorflow', 'tensorflow-cc')" ${{ if eq(parameters.mode, 'OnlyTensorflow') }}: value: "-OnlyTest @('tensorflow', 'tensorflow-cc')" - name: Postfix ${{ if eq(parameters.mode, 'OnlyTensorflow') }}: value: '-tensorflow' ${{ if ne(parameters.mode, 'OnlyTensorflow') }}: value: '' steps: - bash: df -h displayName: 'Report on Disk Space' - bash: | sudo rm -rf ${{ variables.VCPKG_DOWNLOADS }} || 0 sudo mkdir ${{ variables.VCPKG_DOWNLOADS }} || 0 sudo chmod 777 ${{ variables.VCPKG_DOWNLOADS }} || 0 exit 0 displayName: 'Create ${{ variables.VCPKG_DOWNLOADS }}' - task: Bash@3 displayName: 'Build vcpkg' inputs: filePath: bootstrap-vcpkg.sh - task: PowerShell@2 displayName: '*** Test Modified Ports and Prepare Test Logs ***' inputs: failOnStderr: true filePath: 'scripts/azure-pipelines/test-modified-ports.ps1' arguments: > -Triplet "x64-osx" -BuildReason "$(Build.Reason)" -BinarySourceStub "${{ variables.X_VCPKG_BINARY_SOURCE_STUB }}" -WorkingRoot "${{ variables.WORKING_ROOT }}" -ArtifactStagingDirectory "$(Build.ArtifactStagingDirectory)" ${{ variables.PowershellExtraArguments }} pwsh: true - bash: | df -h displayName: 'Report on Disk Space After Build' condition: always() - task: PublishBuildArtifacts@1 displayName: 'Publish Artifact: failure logs for x64-osx' inputs: PathtoPublish: '$(Build.ArtifactStagingDirectory)/failure-logs' ArtifactName: 'failure logs for x64-osx${{ variables.Postfix }}' condition: ne(variables['FAILURE_LOGS_EMPTY'], 'True') - bash: | python3 scripts/file_script.py /Users/vagrant/Data/installed/vcpkg/info/ displayName: 'Build a file list for all packages' condition: always() - task: PublishBuildArtifacts@1 displayName: 'Publish Artifact: file lists for x64-osx${{ variables.Postfix }}' condition: always() inputs: PathtoPublish: scripts/list_files ArtifactName: 'file lists for x64-osx${{ variables.Postfix }}'