UVAtlas/build/UVAtlas-GitHub-Test-Dev17.yml

235 lines
7.4 KiB
YAML

# Copyright (c) Microsoft Corporation.
# Licensed under the MIT License.
#
# http://go.microsoft.com/fwlink/?LinkID=512686
# Builds the library and test suite.
schedules:
- cron: "45 6 * * *"
displayName: 'Nightly build'
branches:
include:
- main
trigger: none
pr: none
name: $(Year:yyyy).$(Month).$(DayOfMonth)$(Rev:.r)
pool:
vmImage: windows-2022
variables:
GITHUB_PAT: $(GITHUBPUBLICTOKEN)
jobs:
- job: DESKTOP_BUILD
displayName: 'Win32 Desktop'
timeoutInMinutes: 60
cancelTimeoutInMinutes: 1
steps:
- checkout: none
- task: DeleteFiles@1
displayName: Delete files
inputs:
Contents: |
DirectXTex\**
DirectXMesh\**
UVAtlas\**
Tests\**
RemoveDotFiles: true
- task: CmdLine@2
displayName: Fetch Libraries
inputs:
script: |
git clone --quiet https://%GITHUB_PAT%@github.com/microsoft/DirectXMesh.git
git clone --quiet https://%GITHUB_PAT%@github.com/microsoft/DirectXTex.git
git clone --quiet https://%GITHUB_PAT%@github.com/microsoft/UVAtlas.git
workingDirectory: $(Build.SourcesDirectory)
failOnStderr: true
- task: CmdLine@2
displayName: Fetch Tests
inputs:
script: git clone --quiet https://%GITHUB_PAT%@github.com/walbourn/uvatlastest.git Tests
workingDirectory: $(Build.SourcesDirectory)/UVAtlas
failOnStderr: true
- task: VSBuild@1
displayName: Build solution xtuvatlas_Desktop_2022.sln 32dbg
inputs:
solution: UVAtlas/Tests/xtuvatlas_Desktop_2022.sln
vsVersion: 17.0
msbuildArgs: /p:PreferredToolArchitecture=x64
platform: x86
configuration: Debug
msbuildArchitecture: x64
- task: VSBuild@1
displayName: Build solutionxtuvatlas_Desktop_2022.sln 32rel
inputs:
solution: UVAtlas/Tests/xtuvatlas_Desktop_2022.sln
vsVersion: 17.0
msbuildArgs: /p:PreferredToolArchitecture=x64
platform: x86
configuration: Release
msbuildArchitecture: x64
- task: VSBuild@1
displayName: Build solution xtuvatlas_Desktop_2022.sln 64dbg
inputs:
solution: UVAtlas/Tests/xtuvatlas_Desktop_2022.sln
vsVersion: 17.0
msbuildArgs: /p:PreferredToolArchitecture=x64
platform: x64
configuration: Debug
msbuildArchitecture: x64
- task: VSBuild@1
displayName: Build solution xtuvatlas_Desktop_2022.sln 64rel
inputs:
solution: UVAtlas/Tests/xtuvatlas_Desktop_2022.sln
vsVersion: 17.0
msbuildArgs: /p:PreferredToolArchitecture=x64
platform: x64
configuration: Release
msbuildArchitecture: x64
- task: VSBuild@1
displayName: Build solution xtuvatlas_Desktop_2022.sln arm64dbg
inputs:
solution: UVAtlas/Tests/xtuvatlas_Desktop_2022.sln
vsVersion: 17.0
msbuildArgs: /p:PreferredToolArchitecture=x64
platform: ARM64
configuration: Debug
msbuildArchitecture: x64
- task: VSBuild@1
displayName: Build solution xtuvatlas_Desktop_2022.sln arm64rel
inputs:
solution: UVAtlas/Tests/xtuvatlas_Desktop_2022.sln
vsVersion: 17.0
msbuildArgs: /p:PreferredToolArchitecture=x64
platform: ARM64
configuration: Release
msbuildArchitecture: x64
- job: CMAKE_BUILD
displayName: 'CMake BUILD_TESTING=ON'
timeoutInMinutes: 120
steps:
- checkout: none
- task: DeleteFiles@1
displayName: Delete files
inputs:
Contents: |
DirectXTex\**
DirectXMesh\**
UVAtlas\**
Tests\**
RemoveDotFiles: true
- task: CmdLine@2
displayName: Fetch Libraries
inputs:
script: |
git clone --quiet https://%GITHUB_PAT%@github.com/microsoft/DirectXMesh.git
git clone --quiet https://%GITHUB_PAT%@github.com/microsoft/DirectXTex.git
git clone --quiet https://%GITHUB_PAT%@github.com/microsoft/UVAtlas.git
workingDirectory: $(Build.SourcesDirectory)
failOnStderr: true
- task: CmdLine@2
displayName: Fetch Tests
inputs:
script: git clone --quiet https://%GITHUB_PAT%@github.com/walbourn/uvatlastest.git Tests
workingDirectory: $(Build.SourcesDirectory)/UVAtlas
failOnStderr: true
- task: CmdLine@2
displayName: 'Setup environment for CMake to use VS'
inputs:
script: |
@echo off
pushd "C:\Program Files (x86)\Microsoft Visual Studio\Installer\"
for /f "delims=" %%x in ('.\vswhere.exe -latest -property InstallationPath') do set VSPATH=%%x
popd
call "%VSPATH%\VC\Auxiliary\Build\vcvarsall.bat" x64
echo ##vso[task.prependpath]%VCINSTALLDIR%Tools\Llvm\x64\bin
echo ##vso[task.prependpath]%WindowsSdkBinPath%x64
echo ##vso[task.prependpath]%WindowsSdkVerBinPath%x64
echo ##vso[task.prependpath]%VCToolsInstallDir%bin\Hostx64\x64
echo ##vso[task.setvariable variable=EXTERNAL_INCLUDE;]%EXTERNAL_INCLUDE%
echo ##vso[task.setvariable variable=INCLUDE;]%INCLUDE%
echo ##vso[task.setvariable variable=LIB;]%LIB%
- task: CMake@1
displayName: CMake (MSVC; x64-Debug) Config
inputs:
cwd: $(Build.SourcesDirectory)/UVAtlas
cmakeArgs: --preset=x64-Debug
- task: CMake@1
displayName: CMake (MSVC; x64-Debug) Build
inputs:
cwd: $(Build.SourcesDirectory)/UVAtlas
cmakeArgs: --build out/build/x64-Debug -v
- task: CMake@1
displayName: CMake (MSVC; x64-Release) Config
inputs:
cwd: $(Build.SourcesDirectory)/UVAtlas
cmakeArgs: --preset=x64-Release
- task: CMake@1
displayName: CMake (MSVC; x64-Release) Build
inputs:
cwd: $(Build.SourcesDirectory)/UVAtlas
cmakeArgs: --build out/build/x64-Release -v
- task: CMake@1
displayName: CMake (clang/LLVM; x64-Debug) Config
inputs:
cwd: $(Build.SourcesDirectory)/UVAtlas
cmakeArgs: --preset=x64-Debug-Clang
- task: CMake@1
displayName: CMake (clang/LLVM; x64-Debug) Build
inputs:
cwd: $(Build.SourcesDirectory)/UVAtlas
cmakeArgs: --build out/build/x64-Debug-Clang -v
- task: CMake@1
displayName: CMake (clang/LLVM; x64-Release) Config
inputs:
cwd: $(Build.SourcesDirectory)/UVAtlas
cmakeArgs: --preset=x64-Release-Clang
- task: CMake@1
displayName: CMake (clang/LLVM; x64-Release) Build
inputs:
cwd: $(Build.SourcesDirectory)/UVAtlas
cmakeArgs: --build out/build/x64-Release-Clang -v
- task: CmdLine@2
displayName: 'Set LIB for ARM64'
inputs:
script: |
@echo off
pushd "C:\Program Files (x86)\Microsoft Visual Studio\Installer\"
for /f "delims=" %%x in ('.\vswhere.exe -latest -property InstallationPath') do set VSPATH=%%x
popd
call "%VSPATH%\VC\Auxiliary\Build\vcvarsall.bat" arm64
echo ##vso[task.setvariable variable=LIB;]%LIB%
- task: CMake@1
displayName: CMake (clang/LLVM; arm64-Debug) Config
inputs:
cwd: $(Build.SourcesDirectory)/UVAtlas
cmakeArgs: --preset=arm64-Debug-Clang
- task: CMake@1
displayName: CMake (clang/LLVM; arm64-Debug) Build
inputs:
cwd: $(Build.SourcesDirectory)/UVAtlas
cmakeArgs: --build out/build/arm64-Debug-Clang -v
- task: CMake@1
displayName: CMake (clang/LLVM; arm64-Release) Config
inputs:
cwd: $(Build.SourcesDirectory)/UVAtlas
cmakeArgs: --preset=arm64-Release-Clang
- task: CMake@1
# This is disabled to avoid an ICE with clang v15.0.1
displayName: CMake (clang/LLVM; arm64-Release) Build
enabled: false
inputs:
cwd: $(Build.SourcesDirectory)/UVAtlas
cmakeArgs: --build out/build/arm64-Release-Clang -v