@@ -228,6 +228,60 @@ jobs:
228228 - name : test
229229 run : cd build && ctest -V
230230
231+ windows :
232+ # Windows CI. Tests static and dynamic builds with MT and MD respectively.
233+ if : |
234+ github.event_name != 'workflow_dispatch' ||
235+ github.event.inputs.type == 'all' ||
236+ github.event.inputs.type == 'win'
237+ runs-on : ${{ (github.repository_owner == 'AcademySoftwareFoundation' && 'windows-2022-8c-32g-300h') || 'windows-latest' }}
238+ name : windows-vc:${{ matrix.config.vc }}-type:${{ matrix.config.build }}
239+ env :
240+ VCPKG_DEFAULT_TRIPLET : ${{ matrix.config.vc }}
241+ strategy :
242+ matrix :
243+ config :
244+ # static build of blosc from vcpkg does not build internal sources.
245+ # USE_STATIC_DEPENDENCIES is required for IlmBase/OpenEXR defines and
246+ # Boost as both shared and static libs are installed.
247+ # USE_EXPLICIT_INSTANTIATION is disabled for debug static libraries
248+ # due to disk space constraints
249+ - { vc: 'x64-windows-static', components: 'core,bin,view,render,test', build: 'Release', cmake: '-A x64 -G \"Visual Studio 17 2022\" -DOPENVDB_CORE_SHARED=OFF -DUSE_STATIC_DEPENDENCIES=ON -DBLOSC_USE_EXTERNAL_SOURCES=ON' }
250+ - { vc: 'x64-windows', components: 'core,bin,view,render,python,test', build: 'Release', cmake: '-A x64 -G \"Visual Studio 17 2022\" -DOPENVDB_CORE_STATIC=OFF' }
251+ - { vc: 'x64-windows', components: 'core,bin,view,render,python,test', build: 'Debug', cmake: '-A x64 -G \"Visual Studio 17 2022\" -DOPENVDB_CORE_STATIC=OFF' }
252+ fail-fast : false
253+ steps :
254+ - uses : actions/checkout@v3
255+ - name : path
256+ shell : pwsh
257+ run : |
258+ # note: system path must be modified in a previous step to it's use
259+ echo "$Env:VCPKG_INSTALLATION_ROOT\installed\${{ matrix.config.vc }}\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
260+ echo "${{github.workspace}}\build\openvdb\openvdb\${{ matrix.config.build }}" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
261+ - name : install
262+ run : ./ci/install_windows.sh
263+ - name : build
264+ run : >
265+ ./ci/build.sh -v
266+ --config=${{ matrix.config.build }}
267+ --components=${{ matrix.config.components }}
268+ --cargs=\'
269+ ${{ matrix.config.cmake }}
270+ -DMSVC_COMPRESS_PDB=ON
271+ -DUSE_EXR=ON
272+ -DUSE_PNG=ON
273+ -DVCPKG_TARGET_TRIPLET=${VCPKG_DEFAULT_TRIPLET}
274+ -DCMAKE_TOOLCHAIN_FILE=\"${VCPKG_INSTALLATION_ROOT}\\scripts\\buildsystems\\vcpkg.cmake\"
275+ \'
276+ - name : size
277+ # Print the build directy size (monitor if we're hitting runner limits)
278+ run : du -h build
279+ - name : test
280+ # Always run tests on weekly builds but skip Debug on commits as they take a while.
281+ # https://github.community/t/distinct-job-for-each-schedule/17811/2
282+ if : contains(github.event.schedule, '0 7 * * 1') || matrix.config.build == 'Release'
283+ run : cd build && ctest -V -C ${{ matrix.config.build }}
284+
231285 # ############################################################################
232286 # ########################### AX Library Extras ##############################
233287 # ############################################################################
@@ -393,6 +447,64 @@ jobs:
393447 # ################################# Blosc ####################################
394448 # ############################################################################
395449
450+ windows-nanovdb :
451+ if : |
452+ github.event_name != 'workflow_dispatch' ||
453+ github.event.inputs.type == 'all' ||
454+ github.event.inputs.type == 'win'
455+ runs-on : ${{ (github.repository_owner == 'AcademySoftwareFoundation' && 'windows-2022-8c-32g-300h') || 'windows-latest' }}
456+ env :
457+ VCPKG_DEFAULT_TRIPLET : ${{ matrix.config.vc }}
458+ visual_studio : " Visual Studio 17 2022"
459+ cuda : " 12.4.0"
460+ strategy :
461+ matrix :
462+ config :
463+ # static build of blosc from vcpkg does not build internal sources.
464+ # USE_STATIC_DEPENDENCIES is required for IlmBase/OpenEXR defines and
465+ # Boost as both shared and static libs are installed.
466+ - { vc: 'x64-windows-static', build: 'Release', cmake: '-A x64 -G \"Visual Studio 17 2022\" -DOPENVDB_CORE_SHARED=OFF -DUSE_STATIC_DEPENDENCIES=ON -DBLOSC_USE_EXTERNAL_SOURCES=ON -DCMAKE_MSVC_RUNTIME_LIBRARY=MultiThreaded' }
467+ - { vc: 'x64-windows-static', build: 'Debug', cmake: '-A x64 -G \"Visual Studio 17 2022\" -DOPENVDB_CORE_SHARED=OFF -DUSE_STATIC_DEPENDENCIES=ON -DBLOSC_USE_EXTERNAL_SOURCES=ON -DCMAKE_MSVC_RUNTIME_LIBRARY=MultiThreadedDebug' }
468+ - { vc: 'x64-windows', build: 'Release', cmake: '-A x64 -G \"Visual Studio 17 2022\" -DOPENVDB_CORE_STATIC=OFF' }
469+ - { vc: 'x64-windows', build: 'Debug', cmake: '-A x64 -G \"Visual Studio 17 2022\" -DOPENVDB_CORE_STATIC=OFF' }
470+ fail-fast : false
471+ steps :
472+ - uses : actions/checkout@v3
473+ - name : path
474+ shell : powershell
475+ run : |
476+ # note: system path must be modified in a previous step to it's use
477+ echo "$Env:VCPKG_INSTALLATION_ROOT\installed\${{ matrix.config.vc }}\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
478+ echo "${{github.workspace}}\build\openvdb\openvdb\${{ matrix.config.build }}" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
479+ - name : install_cuda
480+ shell : powershell
481+ run : .\ci\install_windows_cuda.ps1
482+ - name : install_deps
483+ shell : bash
484+ run : ./ci/install_windows.sh
485+ - name : build
486+ shell : bash
487+ run : >
488+ ./ci/build.sh -v
489+ --config=${{ matrix.config.build }}
490+ --components=core,nano,nanotest,nanoexam,nanobench,nanotool
491+ --cargs=\'
492+ ${{ matrix.config.cmake }}
493+ -DMSVC_COMPRESS_PDB=ON
494+ -DUSE_EXPLICIT_INSTANTIATION=OFF
495+ -DNANOVDB_USE_CUDA=ON
496+ -DNANOVDB_USE_OPENVDB=ON
497+ -DVCPKG_TARGET_TRIPLET=${VCPKG_DEFAULT_TRIPLET}
498+ -DCMAKE_TOOLCHAIN_FILE=\"${VCPKG_INSTALLATION_ROOT}\\scripts\\buildsystems\\vcpkg.cmake\"
499+ \'
500+ - name : test
501+ shell : bash
502+ run : cd build && ctest -V -E ".*cuda.*"
503+
504+ # ############################################################################
505+ # ################################# Blosc ####################################
506+ # ############################################################################
507+
396508 linux-blosc :
397509 if : |
398510 github.event_name != 'workflow_dispatch' ||
0 commit comments