vcpkg/scripts/azure-pipelines/osx/azure-pipelines.yml

69 lines
2.7 KiB
YAML
Raw Normal View History

# Copyright (c) Microsoft Corporation.
# SPDX-License-Identifier: MIT
#
jobs:
- job: x64_osx
pool:
name: vcpkgAgentPool
demands: Agent.OS -equals Darwin
workspace:
clean: resources
2020-04-30 08:26:12 +08:00
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()