STL/azure-devops/run_build.yml

75 строки
2.8 KiB
YAML

# Copyright (c) Microsoft Corporation.
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
jobs:
- job: ${{ parameters.targetPlatform }}
pool:
name: STL
variables:
vcpkgLocation: '$(Build.SourcesDirectory)/vcpkg'
vcpkgResponseFile: $(Build.SourcesDirectory)/azure-devops/vcpkg_windows.txt
steps:
- checkout: self
submodules: recursive
- task: PowerShell@2
displayName: 'Install MSVC Preview'
timeoutInMinutes: 30
# on "Hosted" agents only:
condition: or(contains(variables['Agent.Name'], 'Azure Pipelines'), contains(variables['Agent.Name'], 'Hosted Agent'))
inputs:
targetType: filePath
filePath: $(Build.SourcesDirectory)/azure-devops/install_msvc_preview.ps1
- task: CacheBeta@0
displayName: Cache vcpkg
timeoutInMinutes: 10
inputs:
key: $(vcpkgResponseFile) | $(Build.SourcesDirectory)/.git/modules/vcpkg/HEAD
path: '$(vcpkgLocation)'
- task: run-vcpkg@0
displayName: 'Run vcpkg to Install boost-build'
timeoutInMinutes: 10
inputs:
vcpkgArguments: 'boost-build:x86-windows'
vcpkgDirectory: '$(vcpkgLocation)'
- task: run-vcpkg@0
displayName: 'Run vcpkg'
timeoutInMinutes: 10
inputs:
vcpkgArguments: '@$(vcpkgResponseFile)'
vcpkgDirectory: '$(vcpkgLocation)'
vcpkgTriplet: ${{ parameters.targetPlatform }}-windows
- task: run-cmake@0
displayName: 'Build Support Tools'
timeoutInMinutes: 2
condition: eq('${{ parameters.targetPlatform }}', 'x64')
inputs:
cmakeListsTxtPath: 'tools/CMakeSettings.json'
useVcpkgToolchainFile: true
configurationRegexFilter: '.*x64-Release.*'
buildDirectory: $(Build.ArtifactStagingDirectory)/tools
- task: BatchScript@1
displayName: 'Enforce clang-format'
timeoutInMinutes: 5
condition: eq('${{ parameters.targetPlatform }}', 'x64')
inputs:
filename: 'azure-devops/enforce-clang-format.cmd'
failOnStandardError: true
arguments: '$(Build.ArtifactStagingDirectory)/tools/parallelize/parallelize.exe'
- task: BatchScript@1
displayName: 'Validate Files'
timeoutInMinutes: 2
condition: eq('${{ parameters.targetPlatform }}', 'x64')
inputs:
filename: 'azure-devops/validate-files.cmd'
failOnStandardError: true
arguments: '$(Build.ArtifactStagingDirectory)/tools/validate/validate.exe'
- task: run-cmake@0
displayName: 'Build the STL'
timeoutInMinutes: 10
inputs:
cmakeListsTxtPath: 'CMakeSettings.json'
useVcpkgToolchainFile: true
configurationRegexFilter: '.*${{ parameters.targetPlatform }}.*'
buildDirectory: $(Build.ArtifactStagingDirectory)/${{ parameters.targetPlatform }}