# Copyright (c) Microsoft Corporation. # Licensed under the MIT License. # # http://go.microsoft.com/fwlink/?LinkId=248926 # Builds the library and test suite. schedules: - cron: "30 3 * * *" displayName: 'Nightly build' branches: include: - main resources: repositories: - repository: self type: git ref: refs/heads/main trigger: none name: $(Year:yyyy).$(Month).$(DayOfMonth)$(Rev:.r) pool: vmImage: windows-2022 variables: GITHUB_PAT: $(GITHUBPUBLICTOKEN) jobs: - job: DESKTOP_BUILD displayName: 'Win32 Desktop for x64/x86' timeoutInMinutes: 120 cancelTimeoutInMinutes: 1 steps: - checkout: self clean: true fetchTags: false - task: DeleteFiles@1 displayName: Delete files from Tests inputs: SourceFolder: Tests Contents: '**' RemoveSourceFolder: true RemoveDotFiles: true - task: CmdLine@2 displayName: Fetch Tests inputs: script: git clone --quiet https://%GITHUB_PAT%@github.com/walbourn/directxtextest.git Tests workingDirectory: $(Build.SourcesDirectory) failOnStderr: true - task: VSBuild@1 displayName: Build solution DirectXTex_Tests_Desktop_2022.sln 32dbg inputs: solution: Tests/DirectXTex_Tests_Desktop_2022.sln vsVersion: 17.0 msbuildArgs: /p:PreferredToolArchitecture=x64 platform: x86 configuration: Debug msbuildArchitecture: x64 - task: VSBuild@1 displayName: Build solution DirectXTex_Tests_Desktop_2022.sln 32rel inputs: solution: Tests/DirectXTex_Tests_Desktop_2022.sln vsVersion: 17.0 msbuildArgs: /p:PreferredToolArchitecture=x64 platform: x86 configuration: Release msbuildArchitecture: x64 - task: VSBuild@1 displayName: Build solution DirectXTex_Tests_Desktop_2022.sln 64dbg inputs: solution: Tests/DirectXTex_Tests_Desktop_2022.sln vsVersion: 17.0 msbuildArgs: /p:PreferredToolArchitecture=x64 platform: x64 configuration: Debug msbuildArchitecture: x64 - task: VSBuild@1 displayName: Build solution DirectXTex_Tests_Desktop_2022.sln 64rel inputs: solution: Tests/DirectXTex_Tests_Desktop_2022.sln vsVersion: 17.0 msbuildArgs: /p:PreferredToolArchitecture=x64 platform: x64 configuration: Release msbuildArchitecture: x64 - task: VSBuild@1 displayName: Build solution DirectXTex_Tests_Desktop_2022_Win10.sln 32dbg inputs: solution: Tests/DirectXTex_Tests_Desktop_2022_Win10.sln vsVersion: 17.0 msbuildArgs: /p:PreferredToolArchitecture=x64 platform: x86 configuration: Debug msbuildArchitecture: x64 - task: VSBuild@1 displayName: Build solution DirectXTex_Tests_Desktop_2022_Win10.sln 32rel inputs: solution: Tests/DirectXTex_Tests_Desktop_2022_Win10.sln vsVersion: 17.0 msbuildArgs: /p:PreferredToolArchitecture=x64 platform: x86 configuration: Release msbuildArchitecture: x64 - task: VSBuild@1 displayName: Build solution DirectXTex_Tests_Desktop_2022_Win10.sln 64dbg inputs: solution: Tests/DirectXTex_Tests_Desktop_2022_Win10.sln vsVersion: 17.0 msbuildArgs: /p:PreferredToolArchitecture=x64 platform: x64 configuration: Debug msbuildArchitecture: x64 - task: VSBuild@1 displayName: Build solution DirectXTex_Tests_Desktop_2022_Win10.sln 64rel inputs: solution: Tests/DirectXTex_Tests_Desktop_2022_Win10.sln vsVersion: 17.0 msbuildArgs: /p:PreferredToolArchitecture=x64 platform: x64 configuration: Release msbuildArchitecture: x64 - task: VSBuild@1 displayName: Build solution DirectXTex_Tests_Desktop_2022_Win10.sln arm64dbg inputs: solution: Tests/DirectXTex_Tests_Desktop_2022_Win10.sln vsVersion: 17.0 msbuildArgs: /p:PreferredToolArchitecture=x64 platform: ARM64 configuration: Debug msbuildArchitecture: x64 - task: VSBuild@1 displayName: Build solution DirectXTex_Tests_Desktop_2022_Win10.sln arm64rel inputs: solution: Tests/DirectXTex_Tests_Desktop_2022_Win10.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: self clean: true fetchTags: false - task: DeleteFiles@1 displayName: Delete files from Tests inputs: SourceFolder: Tests Contents: '**' RemoveSourceFolder: true RemoveDotFiles: true - task: CmdLine@2 displayName: Fetch Tests inputs: script: git clone --quiet https://%GITHUB_PAT%@github.com/walbourn/directxtextest.git Tests workingDirectory: $(Build.SourcesDirectory) 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)' cmakeArgs: --preset=x64-Debug - task: CMake@1 displayName: CMake (MSVC; x64-Debug) Build inputs: cwd: '$(Build.SourcesDirectory)' cmakeArgs: --build out/build/x64-Debug -v - task: CMake@1 displayName: CMake (MSVC; x64-Release) Config inputs: cwd: '$(Build.SourcesDirectory)' cmakeArgs: --preset=x64-Release - task: CMake@1 displayName: CMake (MSVC; x64-Release) Build inputs: cwd: '$(Build.SourcesDirectory)' cmakeArgs: --build out/build/x64-Release -v - task: CMake@1 displayName: CMake (clang/LLVM; x64-Debug) Config inputs: cwd: '$(Build.SourcesDirectory)' cmakeArgs: --preset=x64-Debug-Clang - task: CMake@1 displayName: CMake (clang/LLVM; x64-Debug) Build inputs: cwd: '$(Build.SourcesDirectory)' cmakeArgs: --build out/build/x64-Debug-Clang -v - task: CMake@1 displayName: CMake (clang/LLVM; x64-Release) Config inputs: cwd: '$(Build.SourcesDirectory)' cmakeArgs: --preset=x64-Release-Clang - task: CMake@1 displayName: CMake (clang/LLVM; x64-Release) Build inputs: cwd: '$(Build.SourcesDirectory)' 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)' cmakeArgs: --preset=arm64-Debug-Clang - task: CMake@1 displayName: CMake (clang/LLVM; arm64-Debug) Build inputs: cwd: '$(Build.SourcesDirectory)' cmakeArgs: --build out/build/arm64-Debug-Clang -v - task: CMake@1 displayName: CMake (clang/LLVM; arm64-Release) Config inputs: cwd: '$(Build.SourcesDirectory)' cmakeArgs: --preset=arm64-Release-Clang - task: CMake@1 displayName: CMake (clang/LLVM; arm64-Release) Build inputs: cwd: '$(Build.SourcesDirectory)' cmakeArgs: --build out/build/arm64-Release-Clang -v