aboutsummaryrefslogtreecommitdiff
path: root/scripts/azure-pipelines/osx
diff options
context:
space:
mode:
authorBilly Robert O'Neal III <bion@microsoft.com>2020-04-28 22:16:12 -0700
committerBilly O'Neal <billy.oneal@gmail.com>2020-04-30 21:51:31 -0700
commitb8755728ab92f43d3056091324d7135b1c9fc390 (patch)
tree61b68858eaee5e547c2cdc95c7aa601d334627ab /scripts/azure-pipelines/osx
parent43d664ab53233acc1afacaefbdc8ece98b75d02a (diff)
downloadvcpkg-b8755728ab92f43d3056091324d7135b1c9fc390.tar.gz
vcpkg-b8755728ab92f43d3056091324d7135b1c9fc390.zip
[vcpkg] Onboard Linux to VMSS, open 'git' port, and switch back to Azure Spot
* Adds scripts to generate scale sets for testing Linux. * Note workaround for https://github.com/microsoft/azure-pipelines-agent/pull/2929 * Switches Windows validation to 'Spot' VMs. * Opens the git port 9418. * Removes provisioning of the no longer used 'logs' file share. * Changes Azure region to 'westus2', which is cheaper. * Adds +x to all the scripts in scripts/azure-pipelines. * Use 'xml-results' for all platforms instead of 'raw xml results' on Windows.
Diffstat (limited to 'scripts/azure-pipelines/osx')
-rw-r--r--scripts/azure-pipelines/osx/azure-pipelines.yml73
1 files changed, 73 insertions, 0 deletions
diff --git a/scripts/azure-pipelines/osx/azure-pipelines.yml b/scripts/azure-pipelines/osx/azure-pipelines.yml
new file mode 100644
index 000000000..45d9c0a7f
--- /dev/null
+++ b/scripts/azure-pipelines/osx/azure-pipelines.yml
@@ -0,0 +1,73 @@
+# Copyright (c) Microsoft Corporation.
+# SPDX-License-Identifier: MIT
+#
+
+jobs:
+- job: x64_osx
+ pool:
+ name: vcpkgAgentPool
+ demands: Agent.OS -equals Darwin
+
+ timeoutInMinutes: 1440 # 1 day
+
+ steps:
+ - bash: |
+ rm -rf installed || true
+ mkdir -p ~/Data/installed || true
+ ln -s ~/Data/installed
+ rm -rf ~/Data/installed/* || true
+
+ rm -rf buildtrees || true
+ mkdir -p ~/Data/buildtrees || true
+ ln -s ~/Data/buildtrees
+ rm -rf ~/Data/buildtrees/* || true
+
+ rm -rf packages || true
+ mkdir -p ~/Data/packages || true
+ ln -s ~/Data/packages
+ rm -rf ~/Data/packages/* || true
+
+ rm archives || rm -rf archives || true
+ ln -s ~/Data/archives
+
+ rm -rf downloads || true
+ mkdir -p ~/Data/downloads || true
+ ln -s ~/Data/downloads
+
+ if [ -d downloads/ ]; then
+ #delete downloaded files that have not been used in 7 days
+ find downloads/ -maxdepth 1 -type f ! -atime 7 -exec rm -f {} \;
+ fi
+
+ displayName: 'Setup Environment'
+
+ - bash: |
+ brew list autoconf || brew install autoconf
+ brew list automake || brew install automake
+ brew list libtool || brew install libtool
+ displayName: 'Install brew dependencies'
+
+ - task: Bash@3
+ displayName: 'Build vcpkg'
+ inputs:
+ filePath: bootstrap-vcpkg.sh
+ arguments: '-allowAppleClang'
+ - powershell: |
+ $skip_list = ./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=$skip_list --binarycaching
+ 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 ~/Data/archives/fail -triplets "x64-osx" -errorOnRegression'
+
+ - 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()