/
redgpu
/
ezEngine
Обзор
Документация
Войти
/
redgpu
/
ezEngine
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
dev
Code/BuildSystem/AzurePipelines/Windows-x64.yml
221 строка
9 KB
Sanakan8472
Vulkan Validation Fixes (#1977)
06 июл 2026, 20:49
Не верифицирован
06 июл 2026, 20:49
b1f37ac
Код
Авторство
О чём код?
parameters: - name: uploadCaches displayName: 'Upload Caches' type: boolean default: false trigger: branches: include: - dev resources: repositories: - repository: self type: git ref: dev jobs: - job: Windows_x64 displayName: Windows-x64 timeoutInMinutes: 180 pool: name: Default demands: - Agent.OS -equals Windows_NT - GPU steps: - checkout: self submodules: true lfs: true clean: false - task: PowerShell@2 displayName: Check force clean inputs: targetType: inline script: | $pathA = Join-Path $(System.DefaultWorkingDirectory) "gitClean.txt" $pathB = Join-Path $(System.DefaultWorkingDirectory) "gitCleanCopy.txt" $clean = -not (Test-Path $pathB) -or (compare-object (get-content $pathA) (get-content $pathB)) if ($clean) { Write-Host "Cleaning repo!" git clean -dfx Copy-Item -Path $pathA -Destination $pathB } - task: PowerShell@2 displayName: Delete old crash dumps inputs: targetType: inline script: | if ((Test-Path $(System.DefaultWorkingDirectory)\Output\Bin\WinVs2026Dev64)) { Get-ChildItem $(System.DefaultWorkingDirectory)\Output\Bin\WinVs2026Dev64\*.dmp | foreach { Remove-Item -Force -Path $_.FullName } } $defaultDumpPath = Join-Path -Path $env:LOCALAPPDATA -ChildPath "CrashDumps" if (Test-Path $defaultDumpPath) { Get-ChildItem $defaultDumpPath -Recurse -Force -ErrorAction SilentlyContinue | ForEach-Object { Remove-Item -Force -Recurse -Path $_.FullName -ErrorAction SilentlyContinue } } # Disabled for now until pipeline can run with elevation # - task: PowerShell@2 # displayName: Enable Windows Error Reporting # inputs: # targetType: inline # script: | # New-Item -Path "HKLM:\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps" -Force # New-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps" -Name "DumpFolder" -Value "$(System.DefaultWorkingDirectory)\Output\Bin\WinVs2026Dev64" -PropertyType ExpandString -Force # New-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps" -Name "DumpCount" -Value "10" -PropertyType DWORD -Force # New-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps" -Name "DumpType" -Value "2" -PropertyType DWORD -Force - task: PowerShell@2 displayName: Run CMake inputs: targetType: filePath filePath: "$(System.DefaultWorkingDirectory)/RunCMake.ps1" arguments: "-Target vs2026x64 -NoUnityBuild -NoSubmoduleUpdate -SolutionName solution" - task: MSBuild@1 displayName: Build Solution inputs: solution: $(System.DefaultWorkingDirectory)\Workspace\vs2026x64\solution.slnx msbuildArchitecture: x64 platform: x64 configuration: Dev - task: PowerShell@2 displayName: PowerShell Script inputs: targetType: inline filePath: Write-Host "##vso[task.setvariable variable=task.MSBuild.status]success" script: Write-Host "##vso[task.setvariable variable=task.MSBuild.status]success" - task: CmdLine@2 displayName: HeaderCheck condition: succeededOrFailed() env: TRACY_NO_INVARIANT_CHECK: 1 inputs: script: Output\Bin\WinVs2026Dev64\HeaderCheck.exe $(System.DefaultWorkingDirectory)\Code\Engine\Foundation -i $(System.DefaultWorkingDirectory)\Code\Engine -f $(System.DefaultWorkingDirectory)\Code\Engine\Foundation\headerCheckerIgnore.json - task: CmdLine@2 displayName: FoundationTest condition: eq(variables['task.MSBuild.status'], 'success') env: TRACY_NO_INVARIANT_CHECK: 1 inputs: script: Output\Bin\WinVs2026Dev64\FoundationTest.exe -renderer DX11 -nosave -nogui -all -outputDir $(Build.ArtifactStagingDirectory)\Test\FoundationTest - task: CmdLine@2 displayName: CoreTest condition: eq(variables['task.MSBuild.status'], 'success') env: TRACY_NO_INVARIANT_CHECK: 1 inputs: script: Output\Bin\WinVs2026Dev64\CoreTest.exe -renderer DX11 -nosave -nogui -all -outputDir $(Build.ArtifactStagingDirectory)\Test\CoreTest - task: CmdLine@2 displayName: ToolsFoundationTest condition: eq(variables['task.MSBuild.status'], 'success') env: TRACY_NO_INVARIANT_CHECK: 1 inputs: script: Output\Bin\WinVs2026Dev64\ToolsFoundationTest.exe -renderer DX11 -nosave -nogui -all -outputDir $(Build.ArtifactStagingDirectory)\Test\ToolsFoundationTest - task: CmdLine@2 displayName: RendererTest condition: eq(variables['task.MSBuild.status'], 'success') env: TRACY_NO_INVARIANT_CHECK: 1 inputs: script: Output\Bin\WinVs2026Dev64\RendererTest.exe -debugdevice -renderer DX11 -nosave -nogui -all -outputDir $(Build.ArtifactStagingDirectory)\Test\RendererTest - task: CmdLine@2 displayName: RendererTest Vulkan condition: eq(variables['task.MSBuild.status'], 'success') env: TRACY_NO_INVARIANT_CHECK: 1 inputs: script: Output\Bin\WinVs2026Dev64\RendererTest.exe -debugdevice -renderer Vulkan -nosave -nogui -all -outputDir $(Build.ArtifactStagingDirectory)\Test\RendererTestVulkan - task: CmdLine@2 displayName: EditorTest condition: eq(variables['task.MSBuild.status'], 'success') env: TRACY_NO_INVARIANT_CHECK: 1 inputs: script: | set QT_PLUGIN_PATH=Output\Bin\WinVs2026Dev64 Output\Bin\WinVs2026Dev64\EditorTest.exe -renderer DX11 -nosave -nogui -all -outputDir $(Build.ArtifactStagingDirectory)\Test\EditorTest - task: CmdLine@2 displayName: GameEngineTest condition: eq(variables['task.MSBuild.status'], 'success') env: TRACY_NO_INVARIANT_CHECK: 1 inputs: script: Output\Bin\WinVs2026Dev64\GameEngineTest.exe -debugdevice -renderer DX11 -nosave -nogui -all -outputDir $(Build.ArtifactStagingDirectory)\Test\GameEngineTest - task: PowerShell@2 displayName: Copy Dumps condition: eq(variables['task.MSBuild.status'], 'success') inputs: targetType: filePath filePath: "Utilities/Scripts/copyDumps.ps1" arguments: "-InputPath $(System.DefaultWorkingDirectory)/Output/Bin/WinVs2026Dev64 -OutputPath $(Build.ArtifactStagingDirectory)/Bin/WinVs2026Dev64" # Disabled for now until pipeline can run with elevation # - task: PowerShell@2 # displayName: Disable Windows Error Reporting # inputs: # targetType: inline # script: | # New-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps" -Name "DumpCount" -Value "0" -PropertyType DWORD -Force - task: CmdLine@2 displayName: List files condition: always() inputs: script: dir /s /o $(System.DefaultWorkingDirectory)\Output - task: CmdLine@2 displayName: Copy Bin condition: failed() inputs: script: | xcopy Output\Bin\WinVs2026Dev64\*.dll $(Build.ArtifactStagingDirectory)\Bin\WinVs2026Dev64\ /C/D/Y xcopy Output\Bin\WinVs2026Dev64\*.pdb $(Build.ArtifactStagingDirectory)\Bin\WinVs2026Dev64\ /C/D/Y xcopy Output\Bin\WinVs2026Dev64\*.exe $(Build.ArtifactStagingDirectory)\Bin\WinVs2026Dev64\ /C/D/Y xcopy Output\Bin\WinVs2026Dev64\*.dmp $(Build.ArtifactStagingDirectory)\Bin\WinVs2026Dev64\ /C/D/Y - task: PowerShell@2 displayName: Copy AssetCaches condition: eq(variables['task.MSBuild.status'], 'success') inputs: targetType: inline script: | $RootDir = "$(System.DefaultWorkingDirectory)" $TargetDir = "$(Build.ArtifactStagingDirectory)\AssetCache" Set-Location $RootDir $AssetCaches = (Get-ChildItem $RootDir -Directory -include AssetCache -recurse) foreach($Dir in $AssetCaches) { Write-Host "Dir: $Dir" $relativePath = Get-Item $Dir | Resolve-Path -Relative $targetPath = Join-Path -Path $TargetDir -ChildPath $relativePath Write-Host "targetPath: $targetPath" New-Item -ItemType Directory -Force -Path $targetPath Copy-Item $Dir\* -Filter * -Destination $targetPath -Recurse -Force } - task: PublishBuildArtifacts@1 displayName: 'Publish Artifact: TestResults' condition: eq(variables['task.MSBuild.status'], 'success') inputs: PathtoPublish: $(Build.ArtifactStagingDirectory)\Test ArtifactName: TestResults - task: PublishBuildArtifacts@1 displayName: 'Publish Artifact: Bin' condition: failed() inputs: PathtoPublish: $(Build.ArtifactStagingDirectory)\Bin ArtifactName: Bin - ${{ if eq(parameters.uploadCaches, true) }}: - task: PublishBuildArtifacts@1 displayName: 'Publish Artifact: AssetCache' condition: eq(variables['task.MSBuild.status'], 'success') inputs: PathtoPublish: $(Build.ArtifactStagingDirectory)\AssetCache ArtifactName: AssetCache - task: PublishBuildArtifacts@1 displayName: 'Publish Artifact: ShaderCache' condition: eq(variables['task.MSBuild.status'], 'success') inputs: PathtoPublish: $(System.DefaultWorkingDirectory)\Output\ShaderCache ArtifactName: ShaderCache ...