# Copyright (c) Microsoft Corporation. # Licensed under the MIT License. # # https://go.microsoft.com/fwlink/?LinkId=248926 # Builds the library and test suite. schedules: - cron: "30 3 * * *" displayName: 'Nightly build' branches: include: - main # GitHub Actions handles test suite for CI/PR trigger: none pr: branches: include: - main paths: include: - '.azuredevops/pipelines/DirectXTex-GitHub-Test.yml' resources: repositories: - repository: self type: git ref: refs/heads/main - repository: testRepo name: walbourn/directxtextest type: github endpoint: microsoft ref: refs/heads/main name: $(Year:yyyy).$(Month).$(DayOfMonth)$(Rev:.r) pool: vmImage: windows-2019 variables: - group: dxtex-shared-variables - name: Codeql.Enabled value: false - name: VC_PATH value: 'C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC' - name: GUID_FEED value: $(ADOFeedGUID) jobs: - job: DESKTOP_BUILD displayName: 'Windows Desktop' timeoutInMinutes: 120 cancelTimeoutInMinutes: 1 strategy: maxParallel: 2 matrix: Release_x64: BuildPlatform: x64 BuildConfiguration: Release Debug_x64: BuildPlatform: x64 BuildConfiguration: Debug Release_x86: BuildPlatform: x86 BuildConfiguration: Release Debug_x86: BuildPlatform: x86 BuildConfiguration: Debug steps: - checkout: self clean: true fetchTags: false fetchDepth: 1 path: 's' - checkout: testRepo displayName: Fetch Tests clean: true fetchTags: false fetchDepth: 1 path: 's/Tests' - task: NuGetToolInstaller@1 displayName: 'Use NuGet' - task: NuGetCommand@2 displayName: NuGet restore tests inputs: solution: Tests/DirectXTex_Tests_Desktop_2019.sln feedRestore: $(GUID_FEED) includeNuGetOrg: false - task: VSBuild@1 displayName: Build solution DirectXTex_Tests_Desktop_2019.sln inputs: solution: Tests/DirectXTex_Tests_Desktop_2019.sln vsVersion: 16.0 msbuildArgs: /p:PreferredToolArchitecture=x64 platform: '$(BuildPlatform)' configuration: '$(BuildConfiguration)' - task: VSBuild@1 displayName: Build solution DirectXTex_Tests_Desktop_2019_Win10.sln inputs: solution: Tests/DirectXTex_Tests_Desktop_2019_Win10.sln vsVersion: 16.0 msbuildArgs: /p:PreferredToolArchitecture=x64 platform: '$(BuildPlatform)' configuration: '$(BuildConfiguration)' - job: CMAKE_BUILD_X64 displayName: 'CMake for X64 BUILD_TESTING=ON' timeoutInMinutes: 120 workspace: clean: all steps: - checkout: self clean: true fetchTags: false fetchDepth: 1 path: 's' - checkout: testRepo displayName: Fetch Tests clean: true fetchTags: false fetchDepth: 1 path: 's/Tests' - task: CmdLine@2 displayName: Setup environment for CMake to use VS inputs: script: | call "$(VC_PATH)\Auxiliary\Build\vcvars64.bat" echo ##vso[task.setvariable variable=WindowsSdkVerBinPath;]%WindowsSdkVerBinPath% echo ##vso[task.prependpath]%VSINSTALLDIR%Common7\IDE\CommonExtensions\Microsoft\CMake\Ninja 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: DeleteFiles@1 inputs: Contents: 'out' - 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: DeleteFiles@1 inputs: Contents: 'out' - 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: DeleteFiles@1 inputs: Contents: 'out' - 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