diff --git a/.github/workflows/ax.yml b/.github/workflows/ax.yml index 584eafca64..60554cb38d 100644 --- a/.github/workflows/ax.yml +++ b/.github/workflows/ax.yml @@ -1,167 +1,167 @@ -name: AX +# name: AX -on: - push: - branches: - - 'master' - - 'feature/**' - - 'pr/**' - paths-ignore: - - 'CHANGES' - - 'CODEOWNERS' - - 'doc/**' - - 'nanovdb/**' - - 'openvdb_maya/**' - - 'openvdb_houdini/**' - - 'fvdb/**' - - 'pendingchanges/**' - - '**.md' - pull_request: - branches: - - '**' - paths-ignore: - - 'CHANGES' - - 'CODEOWNERS' - - 'doc/**' - - 'nanovdb/**' - - 'openvdb_maya/**' - - 'openvdb_houdini/**' - - 'fvdb/**' - - 'pendingchanges/**' - - '**.md' - schedule: - # run this workflow every day 7am UTC - - cron: '0 7 * * *' - workflow_dispatch: - inputs: - type: - description: 'The type of CI to run (all, mac, linux, grammar)' - required: true - default: 'all' +# on: +# push: +# branches: +# - 'master' +# - 'feature/**' +# - 'pr/**' +# paths-ignore: +# - 'CHANGES' +# - 'CODEOWNERS' +# - 'doc/**' +# - 'nanovdb/**' +# - 'openvdb_maya/**' +# - 'openvdb_houdini/**' +# - 'fvdb/**' +# - 'pendingchanges/**' +# - '**.md' +# pull_request: +# branches: +# - '**' +# paths-ignore: +# - 'CHANGES' +# - 'CODEOWNERS' +# - 'doc/**' +# - 'nanovdb/**' +# - 'openvdb_maya/**' +# - 'openvdb_houdini/**' +# - 'fvdb/**' +# - 'pendingchanges/**' +# - '**.md' +# schedule: +# # run this workflow every day 7am UTC +# - cron: '0 7 * * *' +# workflow_dispatch: +# inputs: +# type: +# description: 'The type of CI to run (all, mac, linux, grammar)' +# required: true +# default: 'all' -# Allow subsequent pushes to the same PR or REF to cancel any previous jobs. -concurrency: - group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} - cancel-in-progress: true +# # Allow subsequent pushes to the same PR or REF to cancel any previous jobs. +# concurrency: +# group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} +# cancel-in-progress: true -defaults: - run: - shell: bash +# defaults: +# run: +# shell: bash -jobs: - linux-ax: - if: | - github.event_name != 'workflow_dispatch' || - github.event.inputs.type == 'all' || - github.event.inputs.type == 'linux' - runs-on: ${{ (github.repository_owner == 'AcademySoftwareFoundation' && 'ubuntu-20.04-8c-32g-300h') || 'ubuntu-latest' }} - name: > - linux-ax:${{ matrix.config.image }}-cxx:${{ matrix.config.cxx }}-${{ matrix.config.build }} - container: - image: aswf/ci-openvdb:${{ matrix.config.image }} - env: - CXX: ${{ matrix.config.cxx }} - CCACHE_DIR: /tmp/ccache - strategy: - matrix: - # Only test unified builds (core+ax). weekly CI should test standalone - config: - - { image: '2023-clang15', cxx: 'clang++', build: 'Release', cmake: '' } - - { image: '2023-clang15', cxx: 'g++', build: 'Release', cmake: '' } - - { image: '2023-clang15', cxx: 'clang++', build: 'Debug', cmake: '' } - - { image: '2022-clang11', cxx: 'clang++', build: 'Release', cmake: '' } - - { image: '2022-clang11', cxx: 'g++', build: 'Release', cmake: '' } - - { image: '2021-clang10', cxx: 'clang++', build: 'Release', cmake: '-DDISABLE_DEPENDENCY_VERSION_CHECKS=ON' } - - { image: '2021-clang10', cxx: 'g++', build: 'Release', cmake: '-DDISABLE_DEPENDENCY_VERSION_CHECKS=ON' } - fail-fast: false - steps: - - uses: actions/checkout@v3 - - name: pybind11 - #if: contains(matrix.config.image, '2023') == false - run: ./ci/install_pybind11.sh 2.10.0 - - name: timestamp - id: timestamp - run: echo "timestamp=$(date -u +'%Y-%m-%dT%H:%M:%SZ')" >> $GITHUB_OUTPUT - - name: ccache - # don't use ccache for debug builds - if: matrix.config.build == 'Release' - id: ccache - uses: actions/cache@v3 - with: - path: /tmp/ccache - key: linux-ax${{ matrix.config.image }}-${{ matrix.config.cxx }}-${{ steps.timestamp.outputs.timestamp }} - restore-keys: linux-ax${{ matrix.config.image }}-${{ matrix.config.cxx }}- - - name: build - run: > - ./ci/build.sh -v - --build-type=${{ matrix.config.build }} - --components='core,python,bin,axcore,axbin,axtest' - --cargs=\" - ${{ matrix.config.cmake }} - -DOPENVDB_AX_TEST_CMD_DOWNLOADS=ON - -DUSE_EXPLICIT_INSTANTIATION=OFF - -DOPENVDB_CXX_STRICT=ON - \" - - name: test - run: cd build && ctest -V - - name: test_doxygen_examples - run: ./ci/extract_test_examples.sh - # Keep ccache light by stripping out any caches not accessed in the last day - - name: ccache_clean - if: matrix.config.build == 'Release' - run: ccache --evict-older-than 1d +# jobs: +# linux-ax: +# if: | +# github.event_name != 'workflow_dispatch' || +# github.event.inputs.type == 'all' || +# github.event.inputs.type == 'linux' +# runs-on: ${{ (github.repository_owner == 'AcademySoftwareFoundation' && 'ubuntu-20.04-8c-32g-300h') || 'ubuntu-latest' }} +# name: > +# linux-ax:${{ matrix.config.image }}-cxx:${{ matrix.config.cxx }}-${{ matrix.config.build }} +# container: +# image: aswf/ci-openvdb:${{ matrix.config.image }} +# env: +# CXX: ${{ matrix.config.cxx }} +# CCACHE_DIR: /tmp/ccache +# strategy: +# matrix: +# # Only test unified builds (core+ax). weekly CI should test standalone +# config: +# - { image: '2023-clang15', cxx: 'clang++', build: 'Release', cmake: '' } +# - { image: '2023-clang15', cxx: 'g++', build: 'Release', cmake: '' } +# - { image: '2023-clang15', cxx: 'clang++', build: 'Debug', cmake: '' } +# - { image: '2022-clang11', cxx: 'clang++', build: 'Release', cmake: '' } +# - { image: '2022-clang11', cxx: 'g++', build: 'Release', cmake: '' } +# - { image: '2021-clang10', cxx: 'clang++', build: 'Release', cmake: '-DDISABLE_DEPENDENCY_VERSION_CHECKS=ON' } +# - { image: '2021-clang10', cxx: 'g++', build: 'Release', cmake: '-DDISABLE_DEPENDENCY_VERSION_CHECKS=ON' } +# fail-fast: false +# steps: +# - uses: actions/checkout@v3 +# - name: pybind11 +# #if: contains(matrix.config.image, '2023') == false +# run: ./ci/install_pybind11.sh 2.10.0 +# - name: timestamp +# id: timestamp +# run: echo "timestamp=$(date -u +'%Y-%m-%dT%H:%M:%SZ')" >> $GITHUB_OUTPUT +# - name: ccache +# # don't use ccache for debug builds +# if: matrix.config.build == 'Release' +# id: ccache +# uses: actions/cache@v3 +# with: +# path: /tmp/ccache +# key: linux-ax${{ matrix.config.image }}-${{ matrix.config.cxx }}-${{ steps.timestamp.outputs.timestamp }} +# restore-keys: linux-ax${{ matrix.config.image }}-${{ matrix.config.cxx }}- +# - name: build +# run: > +# ./ci/build.sh -v +# --build-type=${{ matrix.config.build }} +# --components='core,python,bin,axcore,axbin,axtest' +# --cargs=\" +# ${{ matrix.config.cmake }} +# -DOPENVDB_AX_TEST_CMD_DOWNLOADS=ON +# -DUSE_EXPLICIT_INSTANTIATION=OFF +# -DOPENVDB_CXX_STRICT=ON +# \" +# - name: test +# run: cd build && ctest -V +# - name: test_doxygen_examples +# run: ./ci/extract_test_examples.sh +# # Keep ccache light by stripping out any caches not accessed in the last day +# - name: ccache_clean +# if: matrix.config.build == 'Release' +# run: ccache --evict-older-than 1d - macos-ax: - if: | - github.event_name != 'workflow_dispatch' || - github.event.inputs.type == 'all' || - github.event.inputs.type == 'mac' - runs-on: ${{ matrix.config.runner }} - name: macos-cxx:${{ matrix.config.cxx }}-llvm:${{ matrix.config.llvm }}-${{ matrix.config.build }} - env: - CXX: ${{ matrix.config.cxx }} - strategy: - matrix: - config: - #@note llvm10 never got its own brew formula... - - { runner: 'macos-latest', cxx: 'clang++', build: 'Release', llvm: '11' } - - { runner: 'macos-latest', cxx: 'clang++', build: 'Release', llvm: '12' } - - { runner: 'macos-latest', cxx: 'clang++', build: 'Release', llvm: '13' } - fail-fast: false - steps: - - uses: actions/checkout@v3 - - name: install_deps - run: ./ci/install_macos.sh ${{ matrix.config.llvm }} - - name: build - run: > - ./ci/build.sh -v - --build-type=${{ matrix.config.build }} - --components="core,python,bin,axcore,axbin,axtest" - --cargs=\" - -DOPENVDB_AX_TEST_CMD_DOWNLOADS=ON - -DUSE_EXPLICIT_INSTANTIATION=OFF - -DLLVM_DIR=/usr/local/opt/llvm@${{ matrix.config.llvm }}/lib/cmake/llvm - \" - - name: test - run: cd build && ctest -V - - name: test_doxygen_examples - run: ./ci/extract_test_examples.sh +# macos-ax: +# if: | +# github.event_name != 'workflow_dispatch' || +# github.event.inputs.type == 'all' || +# github.event.inputs.type == 'mac' +# runs-on: ${{ matrix.config.runner }} +# name: macos-cxx:${{ matrix.config.cxx }}-llvm:${{ matrix.config.llvm }}-${{ matrix.config.build }} +# env: +# CXX: ${{ matrix.config.cxx }} +# strategy: +# matrix: +# config: +# #@note llvm10 never got its own brew formula... +# - { runner: 'macos-latest', cxx: 'clang++', build: 'Release', llvm: '11' } +# - { runner: 'macos-latest', cxx: 'clang++', build: 'Release', llvm: '12' } +# - { runner: 'macos-latest', cxx: 'clang++', build: 'Release', llvm: '13' } +# fail-fast: false +# steps: +# - uses: actions/checkout@v3 +# - name: install_deps +# run: ./ci/install_macos.sh ${{ matrix.config.llvm }} +# - name: build +# run: > +# ./ci/build.sh -v +# --build-type=${{ matrix.config.build }} +# --components="core,python,bin,axcore,axbin,axtest" +# --cargs=\" +# -DOPENVDB_AX_TEST_CMD_DOWNLOADS=ON +# -DUSE_EXPLICIT_INSTANTIATION=OFF +# -DLLVM_DIR=/usr/local/opt/llvm@${{ matrix.config.llvm }}/lib/cmake/llvm +# \" +# - name: test +# run: cd build && ctest -V +# - name: test_doxygen_examples +# run: ./ci/extract_test_examples.sh - gen-grammar: - if: | - github.event_name == 'workflow_dispatch' && - github.event.inputs.type == 'grammar' - runs-on: ${{ (github.repository_owner == 'AcademySoftwareFoundation' && 'ubuntu-20.04-8c-32g-300h') || 'ubuntu-latest' }} - container: - image: aswf/ci-openvdb:2022-clang11 - steps: - - uses: actions/checkout@v3 - - name: build - run: ./ci/build.sh -v --components=axgr --target=openvdb_ax_grammar --cargs=\"-DOPENVDB_AX_GRAMMAR_NO_LINES=ON\" - - name: upload grammar - uses: actions/upload-artifact@v2 - with: - name: ax_grammar - path: ./build/openvdb_ax/openvdb_ax/openvdb_ax/grammar - retention-days: 5 +# gen-grammar: +# if: | +# github.event_name == 'workflow_dispatch' && +# github.event.inputs.type == 'grammar' +# runs-on: ${{ (github.repository_owner == 'AcademySoftwareFoundation' && 'ubuntu-20.04-8c-32g-300h') || 'ubuntu-latest' }} +# container: +# image: aswf/ci-openvdb:2022-clang11 +# steps: +# - uses: actions/checkout@v3 +# - name: build +# run: ./ci/build.sh -v --components=axgr --target=openvdb_ax_grammar --cargs=\"-DOPENVDB_AX_GRAMMAR_NO_LINES=ON\" +# - name: upload grammar +# uses: actions/upload-artifact@v2 +# with: +# name: ax_grammar +# path: ./build/openvdb_ax/openvdb_ax/openvdb_ax/grammar +# retention-days: 5 diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index a702205130..6d155cfa86 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -1,204 +1,204 @@ -name: Build +# name: Build -on: - push: - branches: - - 'master' - - 'feature/**' - - 'pr/**' - paths-ignore: - - 'CHANGES' - - 'CODEOWNERS' - - 'doc/**' - - 'openvdb_maya/**' - - 'openvdb_houdini/**' - - 'openvdb_ax/**' - - 'nanovdb/**' - - 'fvdb/**' - - 'pendingchanges/**' - - '**.md' - pull_request: - branches: - - '**' - paths-ignore: - - 'CHANGES' - - 'CODEOWNERS' - - 'doc/**' - - 'openvdb_maya/**' - - 'openvdb_houdini/**' - - 'openvdb_ax/**' - - 'nanovdb/**' - - 'fvdb/**' - - 'pendingchanges/**' - - '**.md' - schedule: - # run this workflow every day at 7am UTC except Monday - - cron: '0 7 * * 0,2-6' - # run this workflow Monday 7am UTC - # warning: This pattern is checked in various places below - - cron: '0 7 * * 1' - workflow_dispatch: - inputs: - type: - description: 'The type of CI to run (all, linux, win, mac)' - required: true - default: 'all' +# on: +# push: +# branches: +# - 'master' +# - 'feature/**' +# - 'pr/**' +# paths-ignore: +# - 'CHANGES' +# - 'CODEOWNERS' +# - 'doc/**' +# - 'openvdb_maya/**' +# - 'openvdb_houdini/**' +# - 'openvdb_ax/**' +# - 'nanovdb/**' +# - 'fvdb/**' +# - 'pendingchanges/**' +# - '**.md' +# pull_request: +# branches: +# - '**' +# paths-ignore: +# - 'CHANGES' +# - 'CODEOWNERS' +# - 'doc/**' +# - 'openvdb_maya/**' +# - 'openvdb_houdini/**' +# - 'openvdb_ax/**' +# - 'nanovdb/**' +# - 'fvdb/**' +# - 'pendingchanges/**' +# - '**.md' +# schedule: +# # run this workflow every day at 7am UTC except Monday +# - cron: '0 7 * * 0,2-6' +# # run this workflow Monday 7am UTC +# # warning: This pattern is checked in various places below +# - cron: '0 7 * * 1' +# workflow_dispatch: +# inputs: +# type: +# description: 'The type of CI to run (all, linux, win, mac)' +# required: true +# default: 'all' -# Allow subsequent pushes to the same PR or REF to cancel any previous jobs. -concurrency: - group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} - cancel-in-progress: true +# # Allow subsequent pushes to the same PR or REF to cancel any previous jobs. +# concurrency: +# group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} +# cancel-in-progress: true -defaults: - run: - shell: bash +# defaults: +# run: +# shell: bash -jobs: - linux-vfx: - # VFX platform jobs. These are run on the appropriate CentOS images from - # the provided ASWF docker containers - if: | - github.event_name != 'workflow_dispatch' || - github.event.inputs.type == 'all' || - github.event.inputs.type == 'linux' - runs-on: ${{ (github.repository_owner == 'AcademySoftwareFoundation' && 'ubuntu-20.04-8c-32g-300h') || 'ubuntu-latest' }} - name: > - linux-vfx:${{ matrix.config.image }}- - abi:${{ matrix.config.abi }}- - cxx:${{ matrix.config.cxx }}- - type:${{ matrix.config.build }} - container: - image: aswf/ci-openvdb:${{ matrix.config.image }} - env: - CXX: ${{ matrix.config.cxx }} - CCACHE_DIR: /tmp/ccache - strategy: - matrix: - config: - # @note we specifically use clang15.0 (not clang15) here as the newest - # versions of the clang15.X containers have some issues with the GLFW - # installation - - { cxx: clang++, image: '2023-clang15.0', abi: '11', build: 'Release', cmake: '' } - - { cxx: g++, image: '2023-clang15.0', abi: '11', build: 'Release', cmake: '' } - - { cxx: clang++, image: '2022-clang11', abi: '11', build: 'Debug', cmake: '' } - - { cxx: clang++, image: '2022-clang11', abi: '10', build: 'Release', cmake: '' } - - { cxx: g++, image: '2022-clang11', abi: '10', build: 'Release', cmake: '' } - - { cxx: clang++, image: '2022-clang11', abi: '9', build: 'Release', cmake: '-DDISABLE_DEPENDENCY_VERSION_CHECKS=ON' } - - { cxx: g++, image: '2022-clang11', abi: '9', build: 'Release', cmake: '-DDISABLE_DEPENDENCY_VERSION_CHECKS=ON' } - fail-fast: false - steps: - - uses: actions/checkout@v3 - - name: pybind11 - #if: contains(matrix.config.image, '2023') == false - run: ./ci/install_pybind11.sh 2.10.0 - - name: timestamp - id: timestamp - run: echo "timestamp=$(date -u +'%Y-%m-%dT%H:%M:%SZ')" >> $GITHUB_OUTPUT - - name: ccache - # don't use ccache for debug builds - if: matrix.config.build == 'Release' - id: ccache - uses: actions/cache@v3 - with: - path: /tmp/ccache - key: linux-vfx${{ matrix.config.image }}-abi${{ matrix.config.abi }}-${{ matrix.config.cxx }}-${{ steps.timestamp.outputs.timestamp }} - restore-keys: linux-vfx${{ matrix.config.image }}-abi${{ matrix.config.abi }}-${{ matrix.config.cxx }}- - - name: build - run: > - ./ci/build.sh -v - --build-type=${{ matrix.config.build }} - --components=\"core,python,bin,view,render,test\" - --cargs=\" - ${{ matrix.config.cmake }} - -DOPENVDB_CXX_STRICT=ON - -DOPENVDB_ABI_VERSION_NUMBER=${{ matrix.config.abi }} - \" - - name: test - # Always run tests on weekly builds but skip Debug on commits as they take a while. - # https://github.community/t/distinct-job-for-each-schedule/17811/2 - if: contains(github.event.schedule, '0 7 * * 1') || matrix.config.build == 'Release' - run: | - cd build && ctest -V - cd - && ./ci/test_install.sh - # Keep ccache light by stripping out any caches not accessed in the last day - - name: ccache_clean - if: matrix.config.build == 'Release' - run: ccache --evict-older-than 1d +# jobs: +# linux-vfx: +# # VFX platform jobs. These are run on the appropriate CentOS images from +# # the provided ASWF docker containers +# if: | +# github.event_name != 'workflow_dispatch' || +# github.event.inputs.type == 'all' || +# github.event.inputs.type == 'linux' +# runs-on: ${{ (github.repository_owner == 'AcademySoftwareFoundation' && 'ubuntu-20.04-8c-32g-300h') || 'ubuntu-latest' }} +# name: > +# linux-vfx:${{ matrix.config.image }}- +# abi:${{ matrix.config.abi }}- +# cxx:${{ matrix.config.cxx }}- +# type:${{ matrix.config.build }} +# container: +# image: aswf/ci-openvdb:${{ matrix.config.image }} +# env: +# CXX: ${{ matrix.config.cxx }} +# CCACHE_DIR: /tmp/ccache +# strategy: +# matrix: +# config: +# # @note we specifically use clang15.0 (not clang15) here as the newest +# # versions of the clang15.X containers have some issues with the GLFW +# # installation +# - { cxx: clang++, image: '2023-clang15.0', abi: '11', build: 'Release', cmake: '' } +# - { cxx: g++, image: '2023-clang15.0', abi: '11', build: 'Release', cmake: '' } +# - { cxx: clang++, image: '2022-clang11', abi: '11', build: 'Debug', cmake: '' } +# - { cxx: clang++, image: '2022-clang11', abi: '10', build: 'Release', cmake: '' } +# - { cxx: g++, image: '2022-clang11', abi: '10', build: 'Release', cmake: '' } +# - { cxx: clang++, image: '2022-clang11', abi: '9', build: 'Release', cmake: '-DDISABLE_DEPENDENCY_VERSION_CHECKS=ON' } +# - { cxx: g++, image: '2022-clang11', abi: '9', build: 'Release', cmake: '-DDISABLE_DEPENDENCY_VERSION_CHECKS=ON' } +# fail-fast: false +# steps: +# - uses: actions/checkout@v3 +# - name: pybind11 +# #if: contains(matrix.config.image, '2023') == false +# run: ./ci/install_pybind11.sh 2.10.0 +# - name: timestamp +# id: timestamp +# run: echo "timestamp=$(date -u +'%Y-%m-%dT%H:%M:%SZ')" >> $GITHUB_OUTPUT +# - name: ccache +# # don't use ccache for debug builds +# if: matrix.config.build == 'Release' +# id: ccache +# uses: actions/cache@v3 +# with: +# path: /tmp/ccache +# key: linux-vfx${{ matrix.config.image }}-abi${{ matrix.config.abi }}-${{ matrix.config.cxx }}-${{ steps.timestamp.outputs.timestamp }} +# restore-keys: linux-vfx${{ matrix.config.image }}-abi${{ matrix.config.abi }}-${{ matrix.config.cxx }}- +# - name: build +# run: > +# ./ci/build.sh -v +# --build-type=${{ matrix.config.build }} +# --components=\"core,python,bin,view,render,test\" +# --cargs=\" +# ${{ matrix.config.cmake }} +# -DOPENVDB_CXX_STRICT=ON +# -DOPENVDB_ABI_VERSION_NUMBER=${{ matrix.config.abi }} +# \" +# - name: test +# # Always run tests on weekly builds but skip Debug on commits as they take a while. +# # https://github.community/t/distinct-job-for-each-schedule/17811/2 +# if: contains(github.event.schedule, '0 7 * * 1') || matrix.config.build == 'Release' +# run: | +# cd build && ctest -V +# cd - && ./ci/test_install.sh +# # Keep ccache light by stripping out any caches not accessed in the last day +# - name: ccache_clean +# if: matrix.config.build == 'Release' +# run: ccache --evict-older-than 1d - windows: - # Windows CI. Tests static and dynamic builds with MT and MD respectively. - if: | - github.event_name != 'workflow_dispatch' || - github.event.inputs.type == 'all' || - github.event.inputs.type == 'win' - runs-on: ${{ (github.repository_owner == 'AcademySoftwareFoundation' && 'windows-2022-8c-32g-300h') || 'windows-latest' }} - name: windows-vc:${{ matrix.config.vc }}-type:${{ matrix.config.build }} - env: - VCPKG_DEFAULT_TRIPLET: ${{ matrix.config.vc }} - strategy: - matrix: - config: - # static build of blosc from vcpkg does not build internal sources. - # USE_STATIC_DEPENDENCIES is required for IlmBase/OpenEXR defines and - # Boost as both shared and static libs are installed. - # USE_EXPLICIT_INSTANTIATION is disabled for debug static libraries - # due to disk space constraints - # @note Commented out the static debug build due to linker OOM LNK1102 - - { 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' } - #- { vc: 'x64-windows-static', components: 'core,bin,view,render,test', build: 'Debug', cmake: '-A x64 -G \"Visual Studio 17 2022\" -DOPENVDB_CORE_SHARED=OFF -DUSE_STATIC_DEPENDENCIES=ON -DBLOSC_USE_EXTERNAL_SOURCES=ON -DUSE_EXPLICIT_INSTANTIATION=OFF' } - - { vc: 'x64-windows', components: 'core,bin,view,render,python,test', build: 'Release', cmake: '-A x64 -G \"Visual Studio 17 2022\" -DOPENVDB_CORE_STATIC=OFF' } - - { vc: 'x64-windows', components: 'core,bin,view,render,python,test', build: 'Debug', cmake: '-A x64 -G \"Visual Studio 17 2022\" -DOPENVDB_CORE_STATIC=OFF' } - #- { vc: 'x64-windows', build: 'Release', cmake: '-G \"MinGW Makefiles\" -DOPENVDB_CORE_STATIC=OFF' } - fail-fast: false - steps: - - uses: actions/checkout@v3 - - name: path - shell: pwsh - run: | - # note: system path must be modified in a previous step to it's use - echo "$Env:VCPKG_INSTALLATION_ROOT\installed\${{ matrix.config.vc }}\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append - echo "${{github.workspace}}\build\openvdb\openvdb\${{ matrix.config.build }}" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append - - name: install - run: ./ci/install_windows.sh - - name: build - run: > - ./ci/build.sh -v - --config=${{ matrix.config.build }} - --components=${{ matrix.config.components }} - --cargs=\' - ${{ matrix.config.cmake }} - -DMSVC_COMPRESS_PDB=ON - -DUSE_EXR=ON - -DUSE_PNG=ON - -DVCPKG_TARGET_TRIPLET=${VCPKG_DEFAULT_TRIPLET} - -DCMAKE_TOOLCHAIN_FILE=\"${VCPKG_INSTALLATION_ROOT}\\scripts\\buildsystems\\vcpkg.cmake\" - \' - - name: size - # Print the build directy size (monitor if we're hitting runner limits) - run: du -h build - - name: test - # Always run tests on weekly builds but skip Debug on commits as they take a while. - # https://github.community/t/distinct-job-for-each-schedule/17811/2 - if: contains(github.event.schedule, '0 7 * * 1') || matrix.config.build == 'Release' - run: cd build && ctest -V -C ${{ matrix.config.build }} +# windows: +# # Windows CI. Tests static and dynamic builds with MT and MD respectively. +# if: | +# github.event_name != 'workflow_dispatch' || +# github.event.inputs.type == 'all' || +# github.event.inputs.type == 'win' +# runs-on: ${{ (github.repository_owner == 'AcademySoftwareFoundation' && 'windows-2022-8c-32g-300h') || 'windows-latest' }} +# name: windows-vc:${{ matrix.config.vc }}-type:${{ matrix.config.build }} +# env: +# VCPKG_DEFAULT_TRIPLET: ${{ matrix.config.vc }} +# strategy: +# matrix: +# config: +# # static build of blosc from vcpkg does not build internal sources. +# # USE_STATIC_DEPENDENCIES is required for IlmBase/OpenEXR defines and +# # Boost as both shared and static libs are installed. +# # USE_EXPLICIT_INSTANTIATION is disabled for debug static libraries +# # due to disk space constraints +# # @note Commented out the static debug build due to linker OOM LNK1102 +# - { 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' } +# #- { vc: 'x64-windows-static', components: 'core,bin,view,render,test', build: 'Debug', cmake: '-A x64 -G \"Visual Studio 17 2022\" -DOPENVDB_CORE_SHARED=OFF -DUSE_STATIC_DEPENDENCIES=ON -DBLOSC_USE_EXTERNAL_SOURCES=ON -DUSE_EXPLICIT_INSTANTIATION=OFF' } +# - { vc: 'x64-windows', components: 'core,bin,view,render,python,test', build: 'Release', cmake: '-A x64 -G \"Visual Studio 17 2022\" -DOPENVDB_CORE_STATIC=OFF' } +# - { vc: 'x64-windows', components: 'core,bin,view,render,python,test', build: 'Debug', cmake: '-A x64 -G \"Visual Studio 17 2022\" -DOPENVDB_CORE_STATIC=OFF' } +# #- { vc: 'x64-windows', build: 'Release', cmake: '-G \"MinGW Makefiles\" -DOPENVDB_CORE_STATIC=OFF' } +# fail-fast: false +# steps: +# - uses: actions/checkout@v3 +# - name: path +# shell: pwsh +# run: | +# # note: system path must be modified in a previous step to it's use +# echo "$Env:VCPKG_INSTALLATION_ROOT\installed\${{ matrix.config.vc }}\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append +# echo "${{github.workspace}}\build\openvdb\openvdb\${{ matrix.config.build }}" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append +# - name: install +# run: ./ci/install_windows.sh +# - name: build +# run: > +# ./ci/build.sh -v +# --config=${{ matrix.config.build }} +# --components=${{ matrix.config.components }} +# --cargs=\' +# ${{ matrix.config.cmake }} +# -DMSVC_COMPRESS_PDB=ON +# -DUSE_EXR=ON +# -DUSE_PNG=ON +# -DVCPKG_TARGET_TRIPLET=${VCPKG_DEFAULT_TRIPLET} +# -DCMAKE_TOOLCHAIN_FILE=\"${VCPKG_INSTALLATION_ROOT}\\scripts\\buildsystems\\vcpkg.cmake\" +# \' +# - name: size +# # Print the build directy size (monitor if we're hitting runner limits) +# run: du -h build +# - name: test +# # Always run tests on weekly builds but skip Debug on commits as they take a while. +# # https://github.community/t/distinct-job-for-each-schedule/17811/2 +# if: contains(github.event.schedule, '0 7 * * 1') || matrix.config.build == 'Release' +# run: cd build && ctest -V -C ${{ matrix.config.build }} - macos: - if: | - github.event_name != 'workflow_dispatch' || - github.event.inputs.type == 'all' || - github.event.inputs.type == 'mac' - runs-on: macos-latest - env: - CXX: clang++ - steps: - - uses: actions/checkout@v3 - - name: install - run: ./ci/install_macos.sh - - name: build - run: > - ./ci/build.sh -v - --build-type=Release - --components=\"core,python,bin,view,render,test\" - - name: test - run: cd build && ctest -V +# macos: +# if: | +# github.event_name != 'workflow_dispatch' || +# github.event.inputs.type == 'all' || +# github.event.inputs.type == 'mac' +# runs-on: macos-latest +# env: +# CXX: clang++ +# steps: +# - uses: actions/checkout@v3 +# - name: install +# run: ./ci/install_macos.sh +# - name: build +# run: > +# ./ci/build.sh -v +# --build-type=Release +# --components=\"core,python,bin,view,render,test\" +# - name: test +# run: cd build && ctest -V diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index d3febe0d76..0f50749fac 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -1,158 +1,158 @@ -name: Docs +# name: Docs -on: - push: - branches: - - 'master' - - 'feature/**' - - 'pr/**' - paths-ignore: - - 'CHANGES' - - 'openvdb_maya/**' - - 'pendingchanges/**' - - '**.md' - pull_request: - branches: - - '**' - paths-ignore: - - 'CHANGES' - - 'openvdb_maya/**' - - 'pendingchanges/**' - - '**.md' - workflow_dispatch: - inputs: - deploy: - description: 'Deploy to openvdb-website (docs/coverage)?' - required: true - default: 'none' +# on: +# push: +# branches: +# - 'master' +# - 'feature/**' +# - 'pr/**' +# paths-ignore: +# - 'CHANGES' +# - 'openvdb_maya/**' +# - 'pendingchanges/**' +# - '**.md' +# pull_request: +# branches: +# - '**' +# paths-ignore: +# - 'CHANGES' +# - 'openvdb_maya/**' +# - 'pendingchanges/**' +# - '**.md' +# workflow_dispatch: +# inputs: +# deploy: +# description: 'Deploy to openvdb-website (docs/coverage)?' +# required: true +# default: 'none' -# Allow subsequent pushes to the same PR or REF to cancel any previous jobs. -concurrency: - group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} - cancel-in-progress: true +# # Allow subsequent pushes to the same PR or REF to cancel any previous jobs. +# concurrency: +# group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} +# cancel-in-progress: true -jobs: - doxygen: - runs-on: ubuntu-latest - env: - CXX: g++ - container: - # @note We can't update this as epydoc doesn't support python3. We'll - # need to re-write the python docs to use sphinx - image: aswf/ci-openvdb:2022 - steps: - - uses: actions/checkout@v3 - - name: install_doxygen - run: ./ci/install_doxygen.sh 1_8_11 - - name: pybind11 - #if: contains(matrix.config.image, '2023') == false - run: ./ci/install_pybind11.sh 2.10.0 - # - name: install_epydoc - # run: pip install epydoc - - name: install_latex - run: yum -y install texlive-latex-bin texlive-dvips texlive-collection-fontsrecommended texlive-collection-latexrecommended - - name: build - run: > - ./ci/build.sh -v - --build-type=Release - --components="core,python,doc" - --cargs=\" - -DUSE_BLOSC=OFF - -DOPENVDB_CORE_STATIC=OFF - -DOPENVDB_PYTHON_WRAP_ALL_GRID_TYPES=ON - -DUSE_EXPLICIT_INSTANTIATION=OFF - -DDISABLE_DEPENDENCY_VERSION_CHECKS=ON - \" - # - name: epydoc - # run: | - # epydoc --html -o /usr/local/share/doc/OpenVDB/html/python pyopenvdb - - name: pre_deploy - # Overwrite global SSH configuration - # https://github.com/peaceiris/actions-gh-pages/issues/719 - # https://linuxhint.com/ssh-stricthostkeychecking/ - run: > - echo "Host * - StrictHostKeyChecking no - UserKnownHostsFile=/dev/null - " > /etc/ssh/ssh_config - - name: deploy - # only deploy documentation on a manual workflow dispatch - if: | - github.repository_owner == 'AcademySoftwareFoundation' && - github.event_name == 'workflow_dispatch' && - github.event.inputs.deploy == 'docs' - uses: peaceiris/actions-gh-pages@v3 - with: - deploy_key: ${{ secrets.ACTIONS_DEPLOY_KEY }} - publish_dir: /usr/local/share/doc/OpenVDB/html - destination_dir: documentation/doxygen - external_repository: AcademySoftwareFoundation/openvdb-website - publish_branch: master - full_commit_message: "Automatic doxygen documentation update - - Deployed from: AcademySoftwareFoundation/openvdb ${{ github.sha }} +# jobs: +# doxygen: +# runs-on: ubuntu-latest +# env: +# CXX: g++ +# container: +# # @note We can't update this as epydoc doesn't support python3. We'll +# # need to re-write the python docs to use sphinx +# image: aswf/ci-openvdb:2022 +# steps: +# - uses: actions/checkout@v3 +# - name: install_doxygen +# run: ./ci/install_doxygen.sh 1_8_11 +# - name: pybind11 +# #if: contains(matrix.config.image, '2023') == false +# run: ./ci/install_pybind11.sh 2.10.0 +# # - name: install_epydoc +# # run: pip install epydoc +# - name: install_latex +# run: yum -y install texlive-latex-bin texlive-dvips texlive-collection-fontsrecommended texlive-collection-latexrecommended +# - name: build +# run: > +# ./ci/build.sh -v +# --build-type=Release +# --components="core,python,doc" +# --cargs=\" +# -DUSE_BLOSC=OFF +# -DOPENVDB_CORE_STATIC=OFF +# -DOPENVDB_PYTHON_WRAP_ALL_GRID_TYPES=ON +# -DUSE_EXPLICIT_INSTANTIATION=OFF +# -DDISABLE_DEPENDENCY_VERSION_CHECKS=ON +# \" +# # - name: epydoc +# # run: | +# # epydoc --html -o /usr/local/share/doc/OpenVDB/html/python pyopenvdb +# - name: pre_deploy +# # Overwrite global SSH configuration +# # https://github.com/peaceiris/actions-gh-pages/issues/719 +# # https://linuxhint.com/ssh-stricthostkeychecking/ +# run: > +# echo "Host * +# StrictHostKeyChecking no +# UserKnownHostsFile=/dev/null +# " > /etc/ssh/ssh_config +# - name: deploy +# # only deploy documentation on a manual workflow dispatch +# if: | +# github.repository_owner == 'AcademySoftwareFoundation' && +# github.event_name == 'workflow_dispatch' && +# github.event.inputs.deploy == 'docs' +# uses: peaceiris/actions-gh-pages@v3 +# with: +# deploy_key: ${{ secrets.ACTIONS_DEPLOY_KEY }} +# publish_dir: /usr/local/share/doc/OpenVDB/html +# destination_dir: documentation/doxygen +# external_repository: AcademySoftwareFoundation/openvdb-website +# publish_branch: master +# full_commit_message: "Automatic doxygen documentation update +# - Deployed from: AcademySoftwareFoundation/openvdb ${{ github.sha }} - Signed-off-by: ${{ github.actor }} <${{ github.actor }}@users.noreply.github.com>" +# Signed-off-by: ${{ github.actor }} <${{ github.actor }}@users.noreply.github.com>" - ############################################################################# - ################################ Coverage ################################### - ############################################################################# +# ############################################################################# +# ################################ Coverage ################################### +# ############################################################################# - linux-coverage: - if: | - github.repository_owner == 'AcademySoftwareFoundation' && - github.event_name == 'workflow_dispatch' && - github.event.inputs.deploy == 'coverage' - runs-on: ubuntu-latest - container: - image: aswf/ci-openvdb:2023 - env: - CXX: g++ - steps: - - uses: actions/checkout@v3 - - name: install_gcovr - run: pip install gcovr - - name: build - run: > - ./ci/build.sh -v - --build-type=coverage - --components="core,axcore,test,axtest" - --cargs=\"-DOPENVDB_CORE_STATIC=OFF -DOPENVDB_AX_STATIC=OFF\" - - name: test_and_gcov - run: | - cd build - ctest -V - make gcov_html - cd - - - name: zip_large_html - # The index.function list is > 100mb. Just zip it and provide it as a - # download (could instead use LFS to host but not really worth it). - run: | - cd build/gcov_html - tar -czvf index.functions.html.tar.gz index.functions.html - sed -i -e 's/index.functions.html/index.functions.html.tar.gz/g' index.html - sed -i -e 's/List of functions/Download function index/g' index.html - rm index.functions.html - cd - - - name: pre_deploy - # Overwrite global SSH configuration - # https://github.com/peaceiris/actions-gh-pages/issues/719 - # https://linuxhint.com/ssh-stricthostkeychecking/ - run: > - echo "Host * - StrictHostKeyChecking no - UserKnownHostsFile=/dev/null - " > /etc/ssh/ssh_config - - name: deploy - uses: peaceiris/actions-gh-pages@v3 - with: - deploy_key: ${{ secrets.ACTIONS_DEPLOY_KEY }} - publish_dir: ./build/gcov_html - destination_dir: documentation/code_coverage - external_repository: AcademySoftwareFoundation/openvdb-website - publish_branch: master - full_commit_message: "Automatic code coverage update - - Deployed from: AcademySoftwareFoundation/openvdb ${{ github.sha }} +# linux-coverage: +# if: | +# github.repository_owner == 'AcademySoftwareFoundation' && +# github.event_name == 'workflow_dispatch' && +# github.event.inputs.deploy == 'coverage' +# runs-on: ubuntu-latest +# container: +# image: aswf/ci-openvdb:2023 +# env: +# CXX: g++ +# steps: +# - uses: actions/checkout@v3 +# - name: install_gcovr +# run: pip install gcovr +# - name: build +# run: > +# ./ci/build.sh -v +# --build-type=coverage +# --components="core,axcore,test,axtest" +# --cargs=\"-DOPENVDB_CORE_STATIC=OFF -DOPENVDB_AX_STATIC=OFF\" +# - name: test_and_gcov +# run: | +# cd build +# ctest -V +# make gcov_html +# cd - +# - name: zip_large_html +# # The index.function list is > 100mb. Just zip it and provide it as a +# # download (could instead use LFS to host but not really worth it). +# run: | +# cd build/gcov_html +# tar -czvf index.functions.html.tar.gz index.functions.html +# sed -i -e 's/index.functions.html/index.functions.html.tar.gz/g' index.html +# sed -i -e 's/List of functions/Download function index/g' index.html +# rm index.functions.html +# cd - +# - name: pre_deploy +# # Overwrite global SSH configuration +# # https://github.com/peaceiris/actions-gh-pages/issues/719 +# # https://linuxhint.com/ssh-stricthostkeychecking/ +# run: > +# echo "Host * +# StrictHostKeyChecking no +# UserKnownHostsFile=/dev/null +# " > /etc/ssh/ssh_config +# - name: deploy +# uses: peaceiris/actions-gh-pages@v3 +# with: +# deploy_key: ${{ secrets.ACTIONS_DEPLOY_KEY }} +# publish_dir: ./build/gcov_html +# destination_dir: documentation/code_coverage +# external_repository: AcademySoftwareFoundation/openvdb-website +# publish_branch: master +# full_commit_message: "Automatic code coverage update +# - Deployed from: AcademySoftwareFoundation/openvdb ${{ github.sha }} - Signed-off-by: ${{ github.actor }} <${{ github.actor }}@users.noreply.github.com>" +# Signed-off-by: ${{ github.actor }} <${{ github.actor }}@users.noreply.github.com>" diff --git a/.github/workflows/fvdb.yml b/.github/workflows/fvdb.yml index 45c8a8cf59..0520ebee6d 100644 --- a/.github/workflows/fvdb.yml +++ b/.github/workflows/fvdb.yml @@ -80,8 +80,8 @@ jobs: run: | cd fvdb; free -g; - free -g | awk '/^Mem:/{jobs=int($4); print "Free memory (GB): " jobs}'; - DISTUTILS_DEBUG="1" TORCH_CUDA_ARCH_LIST="7.0;7.5;8.0;8.6+PTX" MAX_JOBS=$(($(nproc) < $(free -g | awk '/^Mem:/{jobs=int($4/2.5); if(jobs<1) jobs=1; print jobs}') ? $(nproc) : $(free -g | awk '/^Mem:/{jobs=int($4/2.5); if(jobs<1) jobs=1; print jobs}'))) python setup.py bdist_wheel --dist-dir=dist + free -g | awk '/^Mem:/{jobs=int($7); print "Free memory (GB): " jobs}'; + DISTUTILS_DEBUG="1" TORCH_CUDA_ARCH_LIST="7.0;7.5;8.0;8.6+PTX" MAX_JOBS=$(($(nproc) < $(free -g | awk '/^Mem:/{jobs=int($7/2.5); if(jobs<1) jobs=1; print jobs}') ? $(nproc) : $(free -g | awk '/^Mem:/{jobs=int($7/2.5); if(jobs<1) jobs=1; print jobs}'))) python setup.py bdist_wheel --dist-dir=dist shell: bash -el {0} diff --git a/.github/workflows/houdini.yml b/.github/workflows/houdini.yml index 1939c7ac29..fb3456a41c 100644 --- a/.github/workflows/houdini.yml +++ b/.github/workflows/houdini.yml @@ -1,189 +1,189 @@ -name: Houdini +# name: Houdini -on: - push: - branches: - - 'master' - - 'feature/**' - - 'pr/**' - paths-ignore: - - 'CHANGES' - - 'CODEOWNERS' - - 'doc/**' - - 'nanovdb/**' - - 'fvdb/**' - - 'openvdb_maya/**' - - 'pendingchanges/**' - - '**.md' - pull_request: - branches: - - '**' - paths-ignore: - - 'CHANGES' - - 'CODEOWNERS' - - 'doc/**' - - 'nanovdb/**' - - 'fvdb/**' - - 'openvdb_maya/**' - - 'pendingchanges/**' - - '**.md' - schedule: - # run this workflow every day 7am UTC - - cron: '0 7 * * *' - workflow_dispatch: +# on: +# push: +# branches: +# - 'master' +# - 'feature/**' +# - 'pr/**' +# paths-ignore: +# - 'CHANGES' +# - 'CODEOWNERS' +# - 'doc/**' +# - 'nanovdb/**' +# - 'fvdb/**' +# - 'openvdb_maya/**' +# - 'pendingchanges/**' +# - '**.md' +# pull_request: +# branches: +# - '**' +# paths-ignore: +# - 'CHANGES' +# - 'CODEOWNERS' +# - 'doc/**' +# - 'nanovdb/**' +# - 'fvdb/**' +# - 'openvdb_maya/**' +# - 'pendingchanges/**' +# - '**.md' +# schedule: +# # run this workflow every day 7am UTC +# - cron: '0 7 * * *' +# workflow_dispatch: -# Allow subsequent pushes to the same PR or REF to cancel any previous jobs. -concurrency: - group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} - cancel-in-progress: true +# # Allow subsequent pushes to the same PR or REF to cancel any previous jobs. +# concurrency: +# group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} +# cancel-in-progress: true -defaults: - run: - shell: bash +# defaults: +# run: +# shell: bash -jobs: - checksecret: - # Check that valid github secrets have been set. This isn't needed to retrieve - # the cache, but ensures that the job doens't start with an empty cache - name: Verify Houdini Secrets - runs-on: ubuntu-latest - outputs: - HOUDINI_SECRETS: ${{ steps.check.outputs.HOUDINI_SECRETS }} - steps: - - id: check - env: - HOUDINI_CLIENT_ID: ${{ secrets.HOUDINI_CLIENT_ID }} - HOUDINI_SECRET_KEY: ${{ secrets.HOUDINI_SECRET_KEY }} - run: echo "HOUDINI_SECRETS=${{ env.HOUDINI_CLIENT_ID != '' && env.HOUDINI_SECRET_KEY != '' }}" >> $GITHUB_OUTPUT - - name: Skip Next Jobs - if: steps.check.outputs.HOUDINI_SECRETS != 'true' - run: echo "HOUDINI_CLIENT_ID and HOUDINI_SECRET_KEY GitHub Action Secrets needs to be set to install Houdini builds" +# jobs: +# checksecret: +# # Check that valid github secrets have been set. This isn't needed to retrieve +# # the cache, but ensures that the job doens't start with an empty cache +# name: Verify Houdini Secrets +# runs-on: ubuntu-latest +# outputs: +# HOUDINI_SECRETS: ${{ steps.check.outputs.HOUDINI_SECRETS }} +# steps: +# - id: check +# env: +# HOUDINI_CLIENT_ID: ${{ secrets.HOUDINI_CLIENT_ID }} +# HOUDINI_SECRET_KEY: ${{ secrets.HOUDINI_SECRET_KEY }} +# run: echo "HOUDINI_SECRETS=${{ env.HOUDINI_CLIENT_ID != '' && env.HOUDINI_SECRET_KEY != '' }}" >> $GITHUB_OUTPUT +# - name: Skip Next Jobs +# if: steps.check.outputs.HOUDINI_SECRETS != 'true' +# run: echo "HOUDINI_CLIENT_ID and HOUDINI_SECRET_KEY GitHub Action Secrets needs to be set to install Houdini builds" - linux-vfx-houdini: - needs: [checksecret] - if: > - ${{ needs.checksecret.outputs.HOUDINI_SECRETS == 'true' || - github.repository_owner == 'AcademySoftwareFoundation' }} - runs-on: ${{ (github.repository_owner == 'AcademySoftwareFoundation' && 'ubuntu-20.04-8c-32g-300h') || 'ubuntu-latest' }} - name: hou:${{ matrix.config.hou_hash }}-vfx:${{ matrix.config.image }}-cxx:${{ matrix.config.cxx }} - container: - image: aswf/ci-base:${{ matrix.config.image }} - env: - CXX: ${{ matrix.config.cxx }} - CCACHE_DIR: /tmp/ccache - strategy: - matrix: - config: - - { cxx: clang++, image: '2023.0', hou_hash: '20_0-newabi', build: 'Release', components: 'core,hou,bin,view,render,python,test,axcore,axbin,axtest' } - - { cxx: clang++, image: '2022', hou_hash: '20_0-oldabi', build: 'Release', components: 'core,hou' } - - { cxx: clang++, image: '2021', hou_hash: '19_5', build: 'Release', components: 'core,hou' } - - { cxx: clang++, image: '2023.0', hou_hash: '20_0-newabi', build: 'Debug', components: 'core,hou,bin,view,render,python,test,axcore,axbin,axtest' } - - { cxx: g++, image: '2023.0', hou_hash: '20_0-newabi', build: 'Release', components: 'core,hou,bin,view,render,python,test,axcore,axbin,axtest' } - - { cxx: g++, image: '2022', hou_hash: '20_0-oldabi', build: 'Release', components: 'core,hou' } - fail-fast: false - steps: - # See note on this step in the Houdini weekly.yml job - # We can remove this when we no longer use < 2023 images - - name: remove zstd - run: yum -y remove zstd - - uses: actions/checkout@v3 - - name: pybind11 - #if: contains(matrix.config.image, '2023') == false - run: ./ci/install_pybind11.sh 2.10.0 - - name: timestamp - id: timestamp - run: echo "timestamp=$(date -u +'%Y-%m-%dT%H:%M:%SZ')" >> $GITHUB_OUTPUT - - name: ccache - # don't use ccache for debug builds - if: matrix.config.build == 'Release' - id: ccache - uses: actions/cache@v3 - with: - path: /tmp/ccache - key: linux-vfx-hou${{ matrix.config.hou_hash }}-${{ matrix.config.image }}-${{ matrix.config.cxx }}-${{ steps.timestamp.outputs.timestamp }} - restore-keys: linux-vfx-hou${{ matrix.config.hou_hash }}-${{ matrix.config.image }}-${{ matrix.config.cxx }}- - - name: fetch_houdini - uses: actions/cache/restore@v3 - with: - path: hou - key: dummy-houdini${{ matrix.config.hou_hash }}-${{ steps.timestamp.outputs.timestamp }} - restore-keys: vdb-v5-houdini${{ matrix.config.hou_hash }}- - - name: validate_houdini - run: test -f "hou/hou.tar.gz" - # Make sure that the unpacked install is NOT in the root of the OpenVDB checkout - # otherwise CMake's install RPATHs wil not work correctly. - - name: install_houdini - run: | - mkdir $HOME/houdini_install - cp hou/hou.tar.gz $HOME/houdini_install/hou.tar.gz - cd $HOME/houdini_install && tar -xzf hou.tar.gz && cd - - - name: build - run: | - ./ci/build.sh -v \ - --build-type=Release \ - --components="${{ matrix.config.components }}" \ - --cargs=\" \ - -DHOUDINI_ROOT=$HOME/houdini_install/hou \ - -DOPENVDB_BUILD_HOUDINI_ABITESTS=OFF \ - -DOPENVDB_HOUDINI_INSTALL_PREFIX=/tmp \ - -DDISABLE_CMAKE_SEARCH_PATHS=ON \ - -DDISABLE_DEPENDENCY_VERSION_CHECKS=ON \ - \" - - name: test - run: cd build && ctest -V - # Keep ccache light by stripping out any caches not accessed in the last day - - name: ccache_clean - if: matrix.config.build == 'Release' - run: ccache --evict-older-than 1d +# linux-vfx-houdini: +# needs: [checksecret] +# if: > +# ${{ needs.checksecret.outputs.HOUDINI_SECRETS == 'true' || +# github.repository_owner == 'AcademySoftwareFoundation' }} +# runs-on: ${{ (github.repository_owner == 'AcademySoftwareFoundation' && 'ubuntu-20.04-8c-32g-300h') || 'ubuntu-latest' }} +# name: hou:${{ matrix.config.hou_hash }}-vfx:${{ matrix.config.image }}-cxx:${{ matrix.config.cxx }} +# container: +# image: aswf/ci-base:${{ matrix.config.image }} +# env: +# CXX: ${{ matrix.config.cxx }} +# CCACHE_DIR: /tmp/ccache +# strategy: +# matrix: +# config: +# - { cxx: clang++, image: '2023.0', hou_hash: '20_0-newabi', build: 'Release', components: 'core,hou,bin,view,render,python,test,axcore,axbin,axtest' } +# - { cxx: clang++, image: '2022', hou_hash: '20_0-oldabi', build: 'Release', components: 'core,hou' } +# - { cxx: clang++, image: '2021', hou_hash: '19_5', build: 'Release', components: 'core,hou' } +# - { cxx: clang++, image: '2023.0', hou_hash: '20_0-newabi', build: 'Debug', components: 'core,hou,bin,view,render,python,test,axcore,axbin,axtest' } +# - { cxx: g++, image: '2023.0', hou_hash: '20_0-newabi', build: 'Release', components: 'core,hou,bin,view,render,python,test,axcore,axbin,axtest' } +# - { cxx: g++, image: '2022', hou_hash: '20_0-oldabi', build: 'Release', components: 'core,hou' } +# fail-fast: false +# steps: +# # See note on this step in the Houdini weekly.yml job +# # We can remove this when we no longer use < 2023 images +# - name: remove zstd +# run: yum -y remove zstd +# - uses: actions/checkout@v3 +# - name: pybind11 +# #if: contains(matrix.config.image, '2023') == false +# run: ./ci/install_pybind11.sh 2.10.0 +# - name: timestamp +# id: timestamp +# run: echo "timestamp=$(date -u +'%Y-%m-%dT%H:%M:%SZ')" >> $GITHUB_OUTPUT +# - name: ccache +# # don't use ccache for debug builds +# if: matrix.config.build == 'Release' +# id: ccache +# uses: actions/cache@v3 +# with: +# path: /tmp/ccache +# key: linux-vfx-hou${{ matrix.config.hou_hash }}-${{ matrix.config.image }}-${{ matrix.config.cxx }}-${{ steps.timestamp.outputs.timestamp }} +# restore-keys: linux-vfx-hou${{ matrix.config.hou_hash }}-${{ matrix.config.image }}-${{ matrix.config.cxx }}- +# - name: fetch_houdini +# uses: actions/cache/restore@v3 +# with: +# path: hou +# key: dummy-houdini${{ matrix.config.hou_hash }}-${{ steps.timestamp.outputs.timestamp }} +# restore-keys: vdb-v5-houdini${{ matrix.config.hou_hash }}- +# - name: validate_houdini +# run: test -f "hou/hou.tar.gz" +# # Make sure that the unpacked install is NOT in the root of the OpenVDB checkout +# # otherwise CMake's install RPATHs wil not work correctly. +# - name: install_houdini +# run: | +# mkdir $HOME/houdini_install +# cp hou/hou.tar.gz $HOME/houdini_install/hou.tar.gz +# cd $HOME/houdini_install && tar -xzf hou.tar.gz && cd - +# - name: build +# run: | +# ./ci/build.sh -v \ +# --build-type=Release \ +# --components="${{ matrix.config.components }}" \ +# --cargs=\" \ +# -DHOUDINI_ROOT=$HOME/houdini_install/hou \ +# -DOPENVDB_BUILD_HOUDINI_ABITESTS=OFF \ +# -DOPENVDB_HOUDINI_INSTALL_PREFIX=/tmp \ +# -DDISABLE_CMAKE_SEARCH_PATHS=ON \ +# -DDISABLE_DEPENDENCY_VERSION_CHECKS=ON \ +# \" +# - name: test +# run: cd build && ctest -V +# # Keep ccache light by stripping out any caches not accessed in the last day +# - name: ccache_clean +# if: matrix.config.build == 'Release' +# run: ccache --evict-older-than 1d - macos-houdini: - needs: [checksecret] - if: > - ${{ needs.checksecret.outputs.HOUDINI_SECRETS == 'true' || - github.repository_owner == 'AcademySoftwareFoundation' }} - runs-on: macos-latest - steps: - - uses: actions/checkout@v3 - - name: fetch_houdini - uses: actions/cache/restore@v3 - with: - path: hou - key: dummy-houdini - restore-keys: vdb-v5-houdini-macos- - - name: validate_houdini - run: test -f "hou/hou.tar.gz" - # Make sure that the unpacked install is NOT in the root of the OpenVDB checkout - # otherwise CMake's install RPATHs wil not work correctly. - - name: install_houdini - run: | - mkdir $HOME/houdini_install - cp hou/hou.tar.gz $HOME/houdini_install/hou.tar.gz - cd $HOME/houdini_install && tar -xzf hou.tar.gz && cd - - - name: install_deps - run: | - # Remove Python3 symlinks in /usr/local/bin as workaround to brew update issues - # https://github.com/actions/setup-python/issues/577 - rm /usr/local/bin/2to3* || : - rm /usr/local/bin/idle3* || : - rm /usr/local/bin/pydoc* || : - rm /usr/local/bin/python3* || : - brew update - brew install bash gnu-getopt cmake boost glfw googletest openexr pybind11 llvm@15 cppunit - echo "/usr/local/opt/gnu-getopt/bin" >> $GITHUB_PATH - - name: build - run: | - ./ci/build.sh -v \ - --build-type=Release \ - --components="core,hou,bin,view,render,python,test,axcore,axbin,axtest" \ - --cargs=\" \ - -DHOUDINI_ROOT=$HOME/houdini_install/hou \ - -DOPENVDB_BUILD_HOUDINI_ABITESTS=OFF \ - -DOPENVDB_HOUDINI_INSTALL_PREFIX=/tmp \ - -DDISABLE_CMAKE_SEARCH_PATHS=ON \ - -DDISABLE_DEPENDENCY_VERSION_CHECKS=ON \ - -DUSE_EXPLICIT_INSTANTIATION=OFF \ - -DLLVM_DIR=/usr/local/opt/llvm@15/lib/cmake/llvm \ - \" - - name: test - run: cd build && ctest -V +# macos-houdini: +# needs: [checksecret] +# if: > +# ${{ needs.checksecret.outputs.HOUDINI_SECRETS == 'true' || +# github.repository_owner == 'AcademySoftwareFoundation' }} +# runs-on: macos-latest +# steps: +# - uses: actions/checkout@v3 +# - name: fetch_houdini +# uses: actions/cache/restore@v3 +# with: +# path: hou +# key: dummy-houdini +# restore-keys: vdb-v5-houdini-macos- +# - name: validate_houdini +# run: test -f "hou/hou.tar.gz" +# # Make sure that the unpacked install is NOT in the root of the OpenVDB checkout +# # otherwise CMake's install RPATHs wil not work correctly. +# - name: install_houdini +# run: | +# mkdir $HOME/houdini_install +# cp hou/hou.tar.gz $HOME/houdini_install/hou.tar.gz +# cd $HOME/houdini_install && tar -xzf hou.tar.gz && cd - +# - name: install_deps +# run: | +# # Remove Python3 symlinks in /usr/local/bin as workaround to brew update issues +# # https://github.com/actions/setup-python/issues/577 +# rm /usr/local/bin/2to3* || : +# rm /usr/local/bin/idle3* || : +# rm /usr/local/bin/pydoc* || : +# rm /usr/local/bin/python3* || : +# brew update +# brew install bash gnu-getopt cmake boost glfw googletest openexr pybind11 llvm@15 cppunit +# echo "/usr/local/opt/gnu-getopt/bin" >> $GITHUB_PATH +# - name: build +# run: | +# ./ci/build.sh -v \ +# --build-type=Release \ +# --components="core,hou,bin,view,render,python,test,axcore,axbin,axtest" \ +# --cargs=\" \ +# -DHOUDINI_ROOT=$HOME/houdini_install/hou \ +# -DOPENVDB_BUILD_HOUDINI_ABITESTS=OFF \ +# -DOPENVDB_HOUDINI_INSTALL_PREFIX=/tmp \ +# -DDISABLE_CMAKE_SEARCH_PATHS=ON \ +# -DDISABLE_DEPENDENCY_VERSION_CHECKS=ON \ +# -DUSE_EXPLICIT_INSTANTIATION=OFF \ +# -DLLVM_DIR=/usr/local/opt/llvm@15/lib/cmake/llvm \ +# \" +# - name: test +# run: cd build && ctest -V diff --git a/.github/workflows/nanovdb.yml b/.github/workflows/nanovdb.yml index da6e95345e..a6c9008f8c 100644 --- a/.github/workflows/nanovdb.yml +++ b/.github/workflows/nanovdb.yml @@ -1,195 +1,195 @@ -name: NanoVDB +# name: NanoVDB -on: - push: - branches: - - 'master' - - 'feature/**' - - 'pr/**' - paths-ignore: - - 'CHANGES' - - 'CODEOWNERS' - - 'doc/**' - - 'openvdb_ax/**' - - 'openvdb_maya/**' - - 'openvdb_houdini/**' - - 'fvdb/**' - - 'pendingchanges/**' - - '**.md' - pull_request: - branches: - - '**' - paths-ignore: - - 'CHANGES' - - 'CODEOWNERS' - - 'doc/**' - - 'openvdb_ax/**' - - 'openvdb_maya/**' - - 'openvdb_houdini/**' - - 'fvdb/**' - - 'pendingchanges/**' - - '**.md' - schedule: - # run this workflow every day 7am UTC - - cron: '0 7 * * *' - workflow_dispatch: - inputs: - type: - description: 'The type of CI to run (all, linux, win, mac)' - required: true - default: 'all' +# on: +# push: +# branches: +# - 'master' +# - 'feature/**' +# - 'pr/**' +# paths-ignore: +# - 'CHANGES' +# - 'CODEOWNERS' +# - 'doc/**' +# - 'openvdb_ax/**' +# - 'openvdb_maya/**' +# - 'openvdb_houdini/**' +# - 'fvdb/**' +# - 'pendingchanges/**' +# - '**.md' +# pull_request: +# branches: +# - '**' +# paths-ignore: +# - 'CHANGES' +# - 'CODEOWNERS' +# - 'doc/**' +# - 'openvdb_ax/**' +# - 'openvdb_maya/**' +# - 'openvdb_houdini/**' +# - 'fvdb/**' +# - 'pendingchanges/**' +# - '**.md' +# schedule: +# # run this workflow every day 7am UTC +# - cron: '0 7 * * *' +# workflow_dispatch: +# inputs: +# type: +# description: 'The type of CI to run (all, linux, win, mac)' +# required: true +# default: 'all' -# Allow subsequent pushes to the same PR or REF to cancel any previous jobs. -concurrency: - group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} - cancel-in-progress: true +# # Allow subsequent pushes to the same PR or REF to cancel any previous jobs. +# concurrency: +# group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} +# cancel-in-progress: true -jobs: - linux-nanovdb: - if: | - github.event_name != 'workflow_dispatch' || - github.event.inputs.type == 'all' || - github.event.inputs.type == 'linux' - runs-on: ${{ (github.repository_owner == 'AcademySoftwareFoundation' && 'ubuntu-20.04-8c-32g-300h') || 'ubuntu-latest' }} - name: > - linux-nanovdb:cxx:${{ matrix.config.cxx }}-${{ matrix.config.build }} - container: - image: aswf/ci-openvdb:${{ matrix.config.image }} - env: - CXX: ${{ matrix.config.cxx }} - strategy: - matrix: - config: - - { cxx: g++, image: '2022-clang11', build: 'Release' } - - { cxx: g++, image: '2022-clang11', build: 'Debug' } - - { cxx: clang++, image: '2022-clang11', build: 'Release' } - - { cxx: clang++, image: '2022-clang11', build: 'Debug' } - fail-fast: false - steps: - - uses: actions/checkout@v3 - - name: install_cuda_11 - run: | - yum -y install yum-utils - yum-config-manager --add-repo http://developer.download.nvidia.com/compute/cuda/repos/rhel7/x86_64/cuda-rhel7.repo - echo "Installing cuda toolkit" - yum --enablerepo=epel -y install cuda-toolkit-11-6 - echo "/usr/local/cuda-11.6/bin" >> $GITHUB_PATH - echo "LD_LIBRARY_PATH=/usr/local/cuda-11.6/lib64:$LD_LIBRARY_PATH" >> $GITHUB_ENV - - name: build - run: > - ./ci/build.sh -v - --build-type=${{ matrix.config.build }} - --components=core,nano,nanotest,nanoexam,nanobench,nanotool - --cargs=\' - -DUSE_EXPLICIT_INSTANTIATION=OFF - -DNANOVDB_USE_CUDA=ON - -DNANOVDB_USE_OPENVDB=ON - -DCMAKE_INSTALL_PREFIX=`pwd` - -DUSE_BLOSC=OFF - \' - - name: test - run: cd build && sudo ctest -V -E ".*cuda.*" +# jobs: +# linux-nanovdb: +# if: | +# github.event_name != 'workflow_dispatch' || +# github.event.inputs.type == 'all' || +# github.event.inputs.type == 'linux' +# runs-on: ${{ (github.repository_owner == 'AcademySoftwareFoundation' && 'ubuntu-20.04-8c-32g-300h') || 'ubuntu-latest' }} +# name: > +# linux-nanovdb:cxx:${{ matrix.config.cxx }}-${{ matrix.config.build }} +# container: +# image: aswf/ci-openvdb:${{ matrix.config.image }} +# env: +# CXX: ${{ matrix.config.cxx }} +# strategy: +# matrix: +# config: +# - { cxx: g++, image: '2022-clang11', build: 'Release' } +# - { cxx: g++, image: '2022-clang11', build: 'Debug' } +# - { cxx: clang++, image: '2022-clang11', build: 'Release' } +# - { cxx: clang++, image: '2022-clang11', build: 'Debug' } +# fail-fast: false +# steps: +# - uses: actions/checkout@v3 +# - name: install_cuda_11 +# run: | +# yum -y install yum-utils +# yum-config-manager --add-repo http://developer.download.nvidia.com/compute/cuda/repos/rhel7/x86_64/cuda-rhel7.repo +# echo "Installing cuda toolkit" +# yum --enablerepo=epel -y install cuda-toolkit-11-6 +# echo "/usr/local/cuda-11.6/bin" >> $GITHUB_PATH +# echo "LD_LIBRARY_PATH=/usr/local/cuda-11.6/lib64:$LD_LIBRARY_PATH" >> $GITHUB_ENV +# - name: build +# run: > +# ./ci/build.sh -v +# --build-type=${{ matrix.config.build }} +# --components=core,nano,nanotest,nanoexam,nanobench,nanotool +# --cargs=\' +# -DUSE_EXPLICIT_INSTANTIATION=OFF +# -DNANOVDB_USE_CUDA=ON +# -DNANOVDB_USE_OPENVDB=ON +# -DCMAKE_INSTALL_PREFIX=`pwd` +# -DUSE_BLOSC=OFF +# \' +# - name: test +# run: cd build && sudo ctest -V -E ".*cuda.*" - windows-nanovdb: - if: | - github.event_name != 'workflow_dispatch' || - github.event.inputs.type == 'all' || - github.event.inputs.type == 'win' - runs-on: ${{ (github.repository_owner == 'AcademySoftwareFoundation' && 'windows-2022-8c-32g-300h') || 'windows-latest' }} - env: - VCPKG_DEFAULT_TRIPLET: ${{ matrix.config.vc }} - visual_studio: "Visual Studio 17 2022" - cuda: "11.6.2" - strategy: - matrix: - config: - # static build of blosc from vcpkg does not build internal sources. - # USE_STATIC_DEPENDENCIES is required for IlmBase/OpenEXR defines and - # Boost as both shared and static libs are installed. - - { 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' } - - { 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' } - - { vc: 'x64-windows', build: 'Release', cmake: '-A x64 -G \"Visual Studio 17 2022\" -DOPENVDB_CORE_STATIC=OFF' } - - { vc: 'x64-windows', build: 'Debug', cmake: '-A x64 -G \"Visual Studio 17 2022\" -DOPENVDB_CORE_STATIC=OFF' } - fail-fast: false - steps: - - uses: actions/checkout@v3 - - name: path - run: | - # note: system path must be modified in a previous step to it's use - echo "$Env:VCPKG_INSTALLATION_ROOT\installed\${{ matrix.config.vc }}\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append - echo "${{github.workspace}}\build\openvdb\openvdb\${{ matrix.config.build }}" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append - - name: install_cuda - shell: powershell - run: .\ci\install_windows_cuda.ps1 - - name: install_deps - shell: bash - run: | - vcpkg update - vcpkg install zlib tbb gtest blosc boost-iostreams boost-system boost-any boost-uuid boost-interprocess boost-algorithm - - name: build - shell: bash - run: > - ./ci/build.sh -v - --config=${{ matrix.config.build }} - --components=core,nano,nanotest,nanoexam,nanobench,nanotool - --cargs=\' - ${{ matrix.config.cmake }} - -DMSVC_COMPRESS_PDB=ON - -DUSE_EXPLICIT_INSTANTIATION=OFF - -DNANOVDB_USE_CUDA=ON - -DNANOVDB_USE_OPENVDB=ON - -DVCPKG_TARGET_TRIPLET=${VCPKG_DEFAULT_TRIPLET} - -DCMAKE_TOOLCHAIN_FILE=\"${VCPKG_INSTALLATION_ROOT}\\scripts\\buildsystems\\vcpkg.cmake\" - \' - - name: test - shell: bash - run: cd build && ctest -V -E ".*cuda.*" +# windows-nanovdb: +# if: | +# github.event_name != 'workflow_dispatch' || +# github.event.inputs.type == 'all' || +# github.event.inputs.type == 'win' +# runs-on: ${{ (github.repository_owner == 'AcademySoftwareFoundation' && 'windows-2022-8c-32g-300h') || 'windows-latest' }} +# env: +# VCPKG_DEFAULT_TRIPLET: ${{ matrix.config.vc }} +# visual_studio: "Visual Studio 17 2022" +# cuda: "11.6.2" +# strategy: +# matrix: +# config: +# # static build of blosc from vcpkg does not build internal sources. +# # USE_STATIC_DEPENDENCIES is required for IlmBase/OpenEXR defines and +# # Boost as both shared and static libs are installed. +# - { 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' } +# - { 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' } +# - { vc: 'x64-windows', build: 'Release', cmake: '-A x64 -G \"Visual Studio 17 2022\" -DOPENVDB_CORE_STATIC=OFF' } +# - { vc: 'x64-windows', build: 'Debug', cmake: '-A x64 -G \"Visual Studio 17 2022\" -DOPENVDB_CORE_STATIC=OFF' } +# fail-fast: false +# steps: +# - uses: actions/checkout@v3 +# - name: path +# run: | +# # note: system path must be modified in a previous step to it's use +# echo "$Env:VCPKG_INSTALLATION_ROOT\installed\${{ matrix.config.vc }}\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append +# echo "${{github.workspace}}\build\openvdb\openvdb\${{ matrix.config.build }}" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append +# - name: install_cuda +# shell: powershell +# run: .\ci\install_windows_cuda.ps1 +# - name: install_deps +# shell: bash +# run: | +# vcpkg update +# vcpkg install zlib tbb gtest blosc boost-iostreams boost-system boost-any boost-uuid boost-interprocess boost-algorithm +# - name: build +# shell: bash +# run: > +# ./ci/build.sh -v +# --config=${{ matrix.config.build }} +# --components=core,nano,nanotest,nanoexam,nanobench,nanotool +# --cargs=\' +# ${{ matrix.config.cmake }} +# -DMSVC_COMPRESS_PDB=ON +# -DUSE_EXPLICIT_INSTANTIATION=OFF +# -DNANOVDB_USE_CUDA=ON +# -DNANOVDB_USE_OPENVDB=ON +# -DVCPKG_TARGET_TRIPLET=${VCPKG_DEFAULT_TRIPLET} +# -DCMAKE_TOOLCHAIN_FILE=\"${VCPKG_INSTALLATION_ROOT}\\scripts\\buildsystems\\vcpkg.cmake\" +# \' +# - name: test +# shell: bash +# run: cd build && ctest -V -E ".*cuda.*" - macos-nanovdb: - if: | - github.event_name != 'workflow_dispatch' || - github.event.inputs.type == 'all' || - github.event.inputs.type == 'mac' - runs-on: ${{ matrix.config.runner }} - env: - CXX: ${{ matrix.config.cxx }} - strategy: - matrix: - config: - - { runner: 'macos-11', cxx: 'clang++', build: 'Release' } - - { runner: 'macos-11', cxx: 'clang++', build: 'Debug' } - fail-fast: false - steps: - - uses: actions/checkout@v3 - - name: install_deps - run: ./ci/install_macos.sh - - name: build - run: > - ./ci/build.sh -v - --build-type=${{ matrix.config.build }} - --components=core,nano,nanotest,nanoexam,nanobench,nanotool - --cargs=\'-DUSE_EXPLICIT_INSTANTIATION=OFF -DNANOVDB_USE_CUDA=OFF -DNANOVDB_USE_OPENVDB=ON\' - - name: test - run: cd build && ctest -V -E ".*cuda.*" +# macos-nanovdb: +# if: | +# github.event_name != 'workflow_dispatch' || +# github.event.inputs.type == 'all' || +# github.event.inputs.type == 'mac' +# runs-on: ${{ matrix.config.runner }} +# env: +# CXX: ${{ matrix.config.cxx }} +# strategy: +# matrix: +# config: +# - { runner: 'macos-11', cxx: 'clang++', build: 'Release' } +# - { runner: 'macos-11', cxx: 'clang++', build: 'Debug' } +# fail-fast: false +# steps: +# - uses: actions/checkout@v3 +# - name: install_deps +# run: ./ci/install_macos.sh +# - name: build +# run: > +# ./ci/build.sh -v +# --build-type=${{ matrix.config.build }} +# --components=core,nano,nanotest,nanoexam,nanobench,nanotool +# --cargs=\'-DUSE_EXPLICIT_INSTANTIATION=OFF -DNANOVDB_USE_CUDA=OFF -DNANOVDB_USE_OPENVDB=ON\' +# - name: test +# run: cd build && ctest -V -E ".*cuda.*" - nanovdb-lite: - if: | - github.event_name != 'workflow_dispatch' || - github.event.inputs.type == 'all' || - github.event.inputs.type == 'linux' - runs-on: ${{ (github.repository_owner == 'AcademySoftwareFoundation' && 'ubuntu-20.04-8c-32g-300h') || 'ubuntu-latest' }} - steps: - - uses: actions/checkout@v3 - - name: install_gtest - run: | - sudo apt-get update - sudo apt-get -q install -y libgtest-dev - - name: build_and_test - run: | - cd nanovdb/nanovdb - sudo mkdir .build - cd .build - sudo cmake -DUSE_EXPLICIT_INSTANTIATION=OFF -DNANOVDB_BUILD_UNITTESTS=ON ../ - sudo make -j8 install - sudo ctest -V +# nanovdb-lite: +# if: | +# github.event_name != 'workflow_dispatch' || +# github.event.inputs.type == 'all' || +# github.event.inputs.type == 'linux' +# runs-on: ${{ (github.repository_owner == 'AcademySoftwareFoundation' && 'ubuntu-20.04-8c-32g-300h') || 'ubuntu-latest' }} +# steps: +# - uses: actions/checkout@v3 +# - name: install_gtest +# run: | +# sudo apt-get update +# sudo apt-get -q install -y libgtest-dev +# - name: build_and_test +# run: | +# cd nanovdb/nanovdb +# sudo mkdir .build +# cd .build +# sudo cmake -DUSE_EXPLICIT_INSTANTIATION=OFF -DNANOVDB_BUILD_UNITTESTS=ON ../ +# sudo make -j8 install +# sudo ctest -V