# Copyright (c) Microsoft Corporation. # SPDX-License-Identifier: MIT # jobs: - job: x64_osx pool: name: vcpkgAgentPool demands: Agent.OS -equals Darwin workspace: clean: resources timeoutInMinutes: 1440 # 1 day steps: - bash: | df -h displayName: 'Report on Disk Space' condition: always() - bash: | brew list autoconf || brew install autoconf brew list automake || brew install automake brew list libtool || brew install libtool brew list gfortran || brew cask install gfortran displayName: 'Install brew dependencies' - bash: | sudo mkdir /Users/vagrant/Data/downloads || 0 sudo chmod 777 /Users/vagrant/Data/downloads || 0 exit 0 displayName: 'Create /Users/vagrant/Data/downloads' - task: Bash@3 displayName: 'Build vcpkg' inputs: filePath: bootstrap-vcpkg.sh arguments: '-buildTests' env: VCPKG_DOWNLOADS: '/Users/vagrant/Data/downloads' - bash: toolsrc/build.rel/vcpkg-test displayName: 'Run vcpkg tests' - powershell: | $env:VCPKG_DOWNLOADS = '/Users/vagrant/Data/downloads' $commonArgs = @( '--binarycaching', '--x-binarysource=clear;files,/Users/vagrant/Data/archives,upload', '--x-buildtrees-root=/Users/vagrant/Data/buildtrees', '--x-install-root=/Users/vagrant/Data/installed', '--x-packages-root=/Users/vagrant/Data/packages' ) ./vcpkg x-ci-clean @commonArgs $skipList = ./scripts/azure-pipelines/generate-skip-list.ps1 -Triplet "x64-osx" -BaselineFile "$(System.DefaultWorkingDirectory)/scripts/ci.baseline.txt" mkdir $(System.ArtifactsDirectory)/xml-results ./vcpkg ci x64-osx --x-xunit="$(System.ArtifactsDirectory)/xml-results/x64-osx.xml" --exclude=$skipList @commonArgs displayName: '** Test Modified Ports **' - task: PowerShell@2 displayName: 'Analyze results and prepare test logs' inputs: failOnStderr: true filePath: 'scripts/azure-pipelines/analyze-test-results.ps1' arguments: '-baselineFile $(System.DefaultWorkingDirectory)/scripts/ci.baseline.txt -logDir "$(System.ArtifactsDirectory)/xml-results" -outputDir "$(Build.ArtifactStagingDirectory)" -failurelogDir /Users/vagrant/Data/archives/fail -triplets "x64-osx" -errorOnRegression' - bash: | df -h displayName: 'Report on Disk Space After Build' condition: always() - task: PublishBuildArtifacts@1 displayName: 'Publish Artifact: x64-osx port build failure logs' inputs: PathtoPublish: '$(Build.ArtifactStagingDirectory)/failureLogs' ArtifactName: 'x64-osx port build failure logs' condition: failed()