Files
eepp/.github/workflows/eepp-windows-build-check.yml

72 lines
2.6 KiB
YAML

name: Windows
on: [push, pull_request]
jobs:
Windows:
runs-on: windows-latest
steps:
- name: Add msbuild to PATH
uses: microsoft/setup-msbuild@v3
- name: Configure Git
shell: cmd
run: |
git config --system core.autocrlf false
- name: Checkout repository
uses: actions/checkout@v6
with:
ref: ${{ github.ref }}
fetch-depth: 2
- name: Checkout submodules
run: |
git submodule update --init --recursive
- name: Install dependencies
shell: powershell
run: |
Invoke-WebRequest -Uri "https://github.com/premake/premake-core/releases/download/v5.0.0-beta6/premake-5.0.0-beta6-windows.zip" -OutFile "premake-5.0.0-beta6-windows.zip"
Expand-Archive -DestinationPath . -Path premake-5.0.0-beta6-windows.zip
- name: Create project
shell: powershell
run: |
./premake5.exe --windows-vc-build --disable-static-build --with-debug-symbols vs2022
- name: Build
shell: cmd
run: |
msbuild .\make\windows\eepp.sln -m /p:Platform="x64" /p:Configuration="release"
- name: Install Mesa for software rendering
uses: f3d-app/install-mesa-windows-action@v1
with:
path: ${{ github.workspace }}/bin/unit_tests
- name: Enable crash dumps
shell: powershell
run: |
$dumpDir = (New-Item -ItemType Directory -Force -Path "bin\unit_tests\output").FullName
$dumpKey = "HKCU:\Software\Microsoft\Windows\Windows Error Reporting\LocalDumps\eepp-unit_tests.exe"
New-Item -Path $dumpKey -Force | Out-Null
New-ItemProperty -Path $dumpKey -Name DumpFolder -PropertyType ExpandString -Value $dumpDir -Force | Out-Null
New-ItemProperty -Path $dumpKey -Name DumpType -PropertyType DWord -Value 2 -Force | Out-Null
New-ItemProperty -Path $dumpKey -Name DumpCount -PropertyType DWord -Value 2 -Force | Out-Null
- name: Unit Tests
shell: cmd
env:
GALLIUM_DRIVER: llvmpipe
run: |
bin\unit_tests\eepp-unit_tests.exe
- name: Upload artifacts
if: always()
uses: actions/upload-artifact@v4
with:
name: windows-test-output
path: bin\unit_tests\output\*
- name: Upload crash symbols
if: failure()
uses: actions/upload-artifact@v4
with:
name: windows-crash-symbols
if-no-files-found: warn
path: |
bin\unit_tests\eepp-unit_tests.exe
bin\unit_tests\eepp-unit_tests.pdb
libs\windows\x86_64\eepp.dll
libs\windows\x86_64\eepp.pdb