name: Test Builds on Windows on: [push, pull_request, workflow_dispatch] jobs: build-set-windows: runs-on: windows-2022 steps: - name: Checkout code id: checkout-code uses: actions/checkout@v4 with: submodules: recursive - name: Setup glslangValidator shell: pwsh run: | Invoke-WebRequest -Uri "https://raw.githubusercontent.com/HansKristian-Work/vkd3d-proton-ci/main/glslangValidator.exe" -OutFile "glslangValidator.exe" Write-Output "$pwd" | Out-File -FilePath "${Env:GITHUB_PATH}" -Append - name: Setup Meson shell: pwsh run: pip install meson - name: Find Visual Studio shell: pwsh run: | $installationPath = Get-VSSetupInstance ` | Select-VSSetupInstance -Require Microsoft.VisualStudio.Workload.NativeDesktop -Latest ` | Select-Object -ExpandProperty InstallationPath Write-Output "VSDEVCMD=${installationPath}\Common7\Tools\VsDevCmd.bat" ` | Out-File -FilePath "${Env:GITHUB_ENV}" -Append - name: Download D3D8 SDK Headers shell: pwsh run: | Invoke-WebRequest -URI https://raw.githubusercontent.com/NovaRain/DXSDK_Collection/master/DXSDK_Aug2007/Include/d3d8.h -OutFile include/d3d8.h Invoke-WebRequest -URI https://raw.githubusercontent.com/NovaRain/DXSDK_Collection/master/DXSDK_Aug2007/Include/d3d8types.h -OutFile include/d3d8types.h Invoke-WebRequest -URI https://raw.githubusercontent.com/NovaRain/DXSDK_Collection/master/DXSDK_Aug2007/Include/d3d8caps.h -OutFile include/d3d8caps.h - name: Get version id: get-version shell: bash run: | echo "VERSION_NAME=${GITHUB_REF##*/}-${GITHUB_SHA##*/}" >> $GITHUB_ENV - name: Build MSVC x86 shell: pwsh run: | & "${Env:COMSPEC}" /s /c "`"${Env:VSDEVCMD}`" -arch=x86 -host_arch=x64 -no_logo && set" ` | % { , ($_ -Split '=', 2) } ` | % { [System.Environment]::SetEnvironmentVariable($_[0], $_[1]) } meson --buildtype release --backend vs2022 build-msvc-x86 msbuild -m build-msvc-x86/dxvk.sln - name: Upload artifacts (x86) uses: actions/upload-artifact@v4 with: name: dxvk-${{ env.VERSION_NAME }}-msvc-x86-output path: | build-msvc-x86\**\*.pdb build-msvc-x86\**\*.dll - name: Build MSVC x64 shell: pwsh run: | & "${Env:COMSPEC}" /s /c "`"${Env:VSDEVCMD}`" -arch=x64 -host_arch=x64 -no_logo && set" ` | % { , ($_ -Split '=', 2) } ` | % { [System.Environment]::SetEnvironmentVariable($_[0], $_[1]) } meson --buildtype release --backend vs2022 build-msvc-x64 msbuild -m build-msvc-x64/dxvk.sln - name: Upload artifacts (x64) uses: actions/upload-artifact@v4 with: name: dxvk-${{ env.VERSION_NAME }}-msvc-amd64-output path: | build-msvc-x64\**\*.pdb build-msvc-x64\**\*.dll