# Copyright (c) Microsoft Corporation. # SPDX-License-Identifier: MIT # jobs: - job: x64_linux pool: name: ${{ parameters.poolName }} workspace: clean: resources timeoutInMinutes: 1440 # 1 day steps: - bash: df -h displayName: 'Report on Disk Space' - bash: | sudo mkdir /home/agent -m=777 sudo chown `id -u` /home/agent exit 0 displayName: 'Create /home/agent' # Note: /mnt is the Azure machines' temporary disk. - bash: | sudo mkdir /mnt/vcpkg-ci -m=777 sudo mkdir /mnt/vcpkg-ci/downloads -m=777 exit 0 displayName: 'Create /mnt/vcpkg-ci/downloads' - task: Bash@3 displayName: 'Build vcpkg' inputs: filePath: bootstrap-vcpkg.sh arguments: "-buildTests" env: VCPKG_DOWNLOADS: '/mnt/vcpkg-ci/downloads' - bash: toolsrc/build.rel/vcpkg-test displayName: 'Run vcpkg tests' - powershell: | $env:VCPKG_DOWNLOADS = '/mnt/vcpkg-ci/downloads' $commonArgs = @( '--binarycaching', '--x-binarysource=clear;files,/archives,upload', '--x-buildtrees-root=/mnt/vcpkg-ci/buildtrees', '--x-install-root=/mnt/vcpkg-ci/install', '--x-packages-root=/mnt/vcpkg-ci/packages' ) ./vcpkg x-ci-clean @commonArgs $skipList = ./scripts/azure-pipelines/generate-skip-list.ps1 -Triplet "x64-linux" -BaselineFile "$(System.DefaultWorkingDirectory)/scripts/ci.baseline.txt" mkdir $(System.ArtifactsDirectory)/xml-results $env:HOME = '/home/agent' ./vcpkg ci x64-linux --x-xunit="$(System.ArtifactsDirectory)/xml-results/x64-linux.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 "/archives/fail" -triplets "x64-linux" -errorOnRegression' - bash: | df -h displayName: 'Report on Disk Space After Build' condition: always() - task: PublishBuildArtifacts@1 displayName: 'Publish Artifact: x86-linux Build Failure Logs' inputs: PathtoPublish: '$(Build.ArtifactStagingDirectory)/failureLogs' ArtifactName: 'x64-linux port build failure logs' condition: failed()