|
- name: windows-x64-gpu-vs2019
- on: [push, pull_request]
- jobs:
- windows-vs2019-gpu:
- runs-on: windows-latest
- steps:
- - uses: actions/checkout@v1
- - name: cache-protobuf
- id: cache-protobuf
- uses: actions/cache@v1
- with:
- path: "protobuf-install"
- key: protobuf-windows-install
- - name: protobuf
- if: steps.cache-protobuf.outputs.cache-hit != 'true'
- run: |
- Invoke-WebRequest -Uri https://github.com/protocolbuffers/protobuf/archive/v3.11.2.zip -OutFile protobuf-3.11.2.zip
- 7z x ./protobuf-3.11.2.zip
- cd protobuf-3.11.2
- mkdir build-vs2019; cd build-vs2019; cmake -DCMAKE_INSTALL_PREFIX="$env:GITHUB_WORKSPACE\protobuf-install" -Dprotobuf_BUILD_TESTS=OFF -Dprotobuf_MSVC_STATIC_RUNTIME=OFF ../cmake
- cmake --build . --config Release -j 2
- cmake --build . --config Release --target install
- - name: cache-vulkansdk
- id: cache-vulkansdk
- uses: actions/cache@v1
- with:
- path: "VulkanSDK"
- key: VulkanSDK-1.1.114.0-Installer
- - name: vulkansdk
- if: steps.cache-vulkansdk.outputs.cache-hit != 'true'
- run: |
- Invoke-WebRequest -Uri https://sdk.lunarg.com/sdk/download/1.1.114.0/windows/VulkanSDK-1.1.114.0-Installer.exe?Human=true -OutFile VulkanSDK-1.1.114.0-Installer.exe
- 7z x -aoa ./VulkanSDK-1.1.114.0-Installer.exe -oVulkanSDK
- Remove-Item .\VulkanSDK\Demos, .\VulkanSDK\glslang, .\VulkanSDK\Samples, .\VulkanSDK\shaderc, .\VulkanSDK\spirv-tools, .\VulkanSDK\Third-Party, .\VulkanSDK\Tools, .\VulkanSDK\Tools32 -Recurse
- - name: cache-swiftshader
- id: cache-swiftshader
- uses: actions/cache@v1
- with:
- path: swiftshader-install
- key: swiftshader-windows-install
- - name: checkout-swiftshader
- if: steps.cache-swiftshader.outputs.cache-hit != 'true'
- uses: actions/checkout@v2
- with:
- repository: google/swiftshader
- path: swiftshader
- ref: 59465799210b3f4962af1a9dc44a4ffecb422c10
- - name: checkout-swiftshader-submodules
- if: steps.cache-swiftshader.outputs.cache-hit != 'true'
- run: |
- cd swiftshader
- git submodule update --init --recursive
- - name: swiftshader
- if: steps.cache-swiftshader.outputs.cache-hit != 'true'
- run: |
- cd swiftshader
- mkdir build-vs2019; cd build-vs2019
- cmake -DCMAKE_INSTALL_PREFIX=install -DBUILD_EGL=0 -DBUILD_GLESv2=0 -DBUILD_GLES_CM=0 -DBUILD_VULKAN=1 -DBUILD_SAMPLES=0 -DBUILD_TESTS=0 -DWARNINGS_AS_ERRORS=0 ..
- cmake --build . --config Release -j 2
- mkdir "$env:GITHUB_WORKSPACE/swiftshader-install"
- Copy-Item -Path "Windows\*" -Destination "$env:GITHUB_WORKSPACE\swiftshader-install"
- - name: configure
- run: |
- $env:VULKAN_SDK="$(pwd)/VulkanSDK"
- mkdir build; cd build
- cmake -DProtobuf_INCLUDE_DIR="$env:GITHUB_WORKSPACE\protobuf-install\include" -DProtobuf_LIBRARIES="$env:GITHUB_WORKSPACE\protobuf-install\lib\libprotobuf.lib" -DProtobuf_PROTOC_EXECUTABLE="$env:GITHUB_WORKSPACE\protobuf-install\bin\protoc.exe" -DNCNN_VULKAN=ON ..
- - name: build
- run: cmake --build build --config Release -j 2
- - name: test
- run: |
- Copy-Item -Path '.\VulkanSDK\RunTimeInstaller\x64\vulkan-1.dll' -Destination 'build\tests'
- $env:VK_ICD_FILENAMES="$env:GITHUB_WORKSPACE\swiftshader-install\vk_swiftshader_icd.json"
- cd build; ctest --output-on-failure -j 2
-
- windows-vs2019-gpu-nostdio:
- runs-on: windows-latest
- steps:
- - uses: actions/checkout@v1
- - name: cache-vulkansdk
- id: cache-vulkansdk
- uses: actions/cache@v1
- with:
- path: "VulkanSDK"
- key: VulkanSDK-1.1.114.0-Installer
- - name: vulkansdk
- if: steps.cache-vulkansdk.outputs.cache-hit != 'true'
- run: |
- Invoke-WebRequest -Uri https://sdk.lunarg.com/sdk/download/1.1.114.0/windows/VulkanSDK-1.1.114.0-Installer.exe?Human=true -OutFile VulkanSDK-1.1.114.0-Installer.exe
- 7z x -aoa ./VulkanSDK-1.1.114.0-Installer.exe -oVulkanSDK
- Remove-Item .\VulkanSDK\Demos, .\VulkanSDK\glslang, .\VulkanSDK\Samples, .\VulkanSDK\shaderc, .\VulkanSDK\spirv-tools, .\VulkanSDK\Third-Party, .\VulkanSDK\Tools, .\VulkanSDK\Tools32 -Recurse
- - name: configure
- run: |
- $env:VULKAN_SDK="$(pwd)/VulkanSDK"
- mkdir build; cd build
- cmake -DNCNN_VULKAN=ON -DNCNN_STDIO=OFF -DNCNN_STRING=ON -DNCNN_BUILD_TESTS=OFF -DNCNN_BUILD_BENCHMARK=OFF -DNCNN_BUILD_TOOLS=OFF -DNCNN_BUILD_EXAMPLES=OFF ..
- - name: build
- run: cmake --build build --config Release -j 2
-
- windows-vs2019-gpu-nostring:
- runs-on: windows-latest
- steps:
- - uses: actions/checkout@v1
- - name: cache-vulkansdk
- id: cache-vulkansdk
- uses: actions/cache@v1
- with:
- path: "VulkanSDK"
- key: VulkanSDK-1.1.114.0-Installer
- - name: vulkansdk
- if: steps.cache-vulkansdk.outputs.cache-hit != 'true'
- run: |
- Invoke-WebRequest -Uri https://sdk.lunarg.com/sdk/download/1.1.114.0/windows/VulkanSDK-1.1.114.0-Installer.exe?Human=true -OutFile VulkanSDK-1.1.114.0-Installer.exe
- 7z x -aoa ./VulkanSDK-1.1.114.0-Installer.exe -oVulkanSDK
- Remove-Item .\VulkanSDK\Demos, .\VulkanSDK\glslang, .\VulkanSDK\Samples, .\VulkanSDK\shaderc, .\VulkanSDK\spirv-tools, .\VulkanSDK\Third-Party, .\VulkanSDK\Tools, .\VulkanSDK\Tools32 -Recurse
- - name: configure
- run: |
- $env:VULKAN_SDK="$(pwd)/VulkanSDK"
- mkdir build; cd build
- cmake -DNCNN_VULKAN=ON -DNCNN_STDIO=ON -DNCNN_STRING=OFF -DNCNN_BUILD_TESTS=OFF -DNCNN_BUILD_BENCHMARK=OFF -DNCNN_BUILD_TOOLS=OFF -DNCNN_BUILD_EXAMPLES=OFF ..
- - name: build
- run: cmake --build build --config Release -j 2
-
- windows-vs2019-gpu-nostdio-nostring:
- runs-on: windows-latest
- steps:
- - uses: actions/checkout@v1
- - name: cache-vulkansdk
- id: cache-vulkansdk
- uses: actions/cache@v1
- with:
- path: "VulkanSDK"
- key: VulkanSDK-1.1.114.0-Installer
- - name: vulkansdk
- if: steps.cache-vulkansdk.outputs.cache-hit != 'true'
- run: |
- Invoke-WebRequest -Uri https://sdk.lunarg.com/sdk/download/1.1.114.0/windows/VulkanSDK-1.1.114.0-Installer.exe?Human=true -OutFile VulkanSDK-1.1.114.0-Installer.exe
- 7z x -aoa ./VulkanSDK-1.1.114.0-Installer.exe -oVulkanSDK
- Remove-Item .\VulkanSDK\Demos, .\VulkanSDK\glslang, .\VulkanSDK\Samples, .\VulkanSDK\shaderc, .\VulkanSDK\spirv-tools, .\VulkanSDK\Third-Party, .\VulkanSDK\Tools, .\VulkanSDK\Tools32 -Recurse
- - name: configure
- run: |
- $env:VULKAN_SDK="$(pwd)/VulkanSDK"
- mkdir build; cd build
- cmake -DNCNN_VULKAN=ON -DNCNN_STDIO=OFF -DNCNN_STRING=OFF -DNCNN_BUILD_TESTS=OFF -DNCNN_BUILD_BENCHMARK=OFF -DNCNN_BUILD_TOOLS=OFF -DNCNN_BUILD_EXAMPLES=OFF ..
- - name: build
- run: cmake --build build --config Release -j 2
|