tests MSVC #1673
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Warning: this name must stay in sync with the badges referenced in the README | |
name: 'tests MSVC' | |
on: | |
push: | |
branches: | |
- 'main' | |
pull_request: | |
schedule: | |
- cron: "0 0 * * 6" # Run every Saturday at midnight | |
jobs: | |
msvc: | |
runs-on: windows-latest | |
env: | |
VULKAN_SDK_VERSION: 1.3.250.1 | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
- build_backend: ninja | |
- build_backend: vs | |
defaults: | |
run: | |
shell: pwsh | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/setup-python@v4 | |
with: | |
python-version: '3.11' | |
- name: Install dependencies | |
run: | | |
iwr https://sdk.lunarg.com/sdk/download/${{env.VULKAN_SDK_VERSION}}/windows/VulkanSDK-${{env.VULKAN_SDK_VERSION}}-Installer.exe -OutFile VulkanSDK-Installer.exe | |
.\VulkanSDK-Installer.exe --accept-licenses --default-answer --confirm-command install | Out-Null | |
iwr https://sdk.lunarg.com/sdk/download/${{env.VULKAN_SDK_VERSION}}/windows/VulkanRT-${{env.VULKAN_SDK_VERSION}}-Installer.exe -OutFile VulkanRT-Installer.exe | |
.\VulkanRT-Installer.exe /S | Out-Null | |
- name: Build (${{matrix.build_backend}}) | |
run: | | |
# Disable the Vulkan backend when using the vs backend to workaround | |
# the following meson error (specific to the CI setup which uses | |
# resources from multiple drives (C:\ and D:\)): | |
# ValueError: path is on mount 'C:', start on mount 'D:' | |
# ERROR: Unhandled python exception | |
# This is a Meson bug and should be reported! | |
if ("${{matrix.build_backend}}" -eq "ninja") { | |
$Env:VULKAN_SDK = "C:/VulkanSDK/${{env.VULKAN_SDK_VERSION}}" | |
} | |
.\scripts\msvc-env.ps1 | |
python.exe .\configure.py --debug-opts gpu_capture --build-backend ${{matrix.build_backend}} | |
nmake | |
- name: Python import and dylib runtime test | |
run: | | |
.\venv\Scripts\ngli-activate.ps1 | |
"Shared libraries required by the nopegl library:" | |
bash -l -c "ldd venv/Scripts/nopegl-0.dll" | |
"Shared libraries required by ngl-python:" | |
bash -l -c "ldd venv/Scripts/ngl-python.exe" | |
ngl-python.exe -h | |
"Shared libraries required by the Cython binding:" | |
bash -l -c "ldd pynopegl/_pynopegl.*.pyd" | |
python.exe -c "import pynopegl, pynopegl_utils" |