Skip to content

Commit 0a3de16

Browse files
committed
Merge remote-tracking branch 'upstream/master' into tree_adapter_improvements
2 parents 6b9a6c2 + 5331ae5 commit 0a3de16

File tree

146 files changed

+23548
-19792
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

146 files changed

+23548
-19792
lines changed

.github/workflows/ax.yml

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,10 @@ jobs:
7474
- { image: '2021-clang10', cxx: 'g++', build: 'Release', cmake: '-DDISABLE_DEPENDENCY_VERSION_CHECKS=ON' }
7575
fail-fast: false
7676
steps:
77+
- name: Enable Node 16
78+
if: contains(matrix.config.image, '2021') || contains(matrix.config.image, '2022')
79+
run: |
80+
echo "ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true" >> $GITHUB_ENV
7781
- uses: actions/checkout@v3
7882
- name: pybind11
7983
#if: contains(matrix.config.image, '2023') == false
@@ -123,14 +127,16 @@ jobs:
123127
matrix:
124128
config:
125129
#@note llvm10 never got its own brew formula...
126-
- { runner: 'macos-latest', cxx: 'clang++', build: 'Release', llvm: '11' }
127-
- { runner: 'macos-latest', cxx: 'clang++', build: 'Release', llvm: '12' }
128-
- { runner: 'macos-latest', cxx: 'clang++', build: 'Release', llvm: '13' }
130+
# Last macos runner befor M1 (macos-14)
131+
- { runner: 'macos-13', cxx: 'clang++', build: 'Release', llvm: '12' }
132+
- { runner: 'macos-13', cxx: 'clang++', build: 'Release', llvm: '13' }
129133
fail-fast: false
130134
steps:
131135
- uses: actions/checkout@v3
132136
- name: install_deps
133-
run: ./ci/install_macos.sh ${{ matrix.config.llvm }}
137+
run: |
138+
./ci/install_macos.sh ${{ matrix.config.llvm }}
139+
./ci/install_tbb_macos.sh
134140
- name: build
135141
run: >
136142
./ci/build.sh -v
@@ -139,7 +145,8 @@ jobs:
139145
--cargs=\"
140146
-DOPENVDB_AX_TEST_CMD_DOWNLOADS=ON
141147
-DUSE_EXPLICIT_INSTANTIATION=OFF
142-
-DLLVM_DIR=/usr/local/opt/llvm@${{ matrix.config.llvm }}/lib/cmake/llvm
148+
-DCMAKE_INSTALL_PREFIX=${{ github.workspace }}/install
149+
-DLLVM_DIR=/opt/homebrew/opt/llvm@${{ matrix.config.llvm }}/lib/cmake/llvm
143150
\"
144151
- name: test
145152
run: cd build && ctest -V

.github/workflows/build.yml

Lines changed: 21 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,11 @@ jobs:
8686
- { cxx: g++, image: '2022-clang11', abi: '9', build: 'Release', cmake: '-DDISABLE_DEPENDENCY_VERSION_CHECKS=ON' }
8787
fail-fast: false
8888
steps:
89+
- name: Enable Node 16
90+
# Solution taken from https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default
91+
if: contains(matrix.config.image, '2022')
92+
run: |
93+
echo "ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true" >> $GITHUB_ENV
8994
- uses: actions/checkout@v3
9095
- name: pybind11
9196
#if: contains(matrix.config.image, '2023') == false
@@ -125,47 +130,34 @@ jobs:
125130
run: ccache --evict-older-than 1d
126131

127132
windows:
128-
# Windows CI. Tests static and dynamic builds with MT and MD respectively.
133+
# Windows CI. Tests a dynamic build with MD.
129134
if: |
130135
github.event_name != 'workflow_dispatch' ||
131136
github.event.inputs.type == 'all' ||
132137
github.event.inputs.type == 'win'
133138
runs-on: ${{ (github.repository_owner == 'AcademySoftwareFoundation' && 'windows-2022-8c-32g-300h') || 'windows-latest' }}
134-
name: windows-vc:${{ matrix.config.vc }}-type:${{ matrix.config.build }}
139+
name: windows
135140
env:
136-
VCPKG_DEFAULT_TRIPLET: ${{ matrix.config.vc }}
141+
VCPKG_DEFAULT_TRIPLET: x64-windows
137142
strategy:
138-
matrix:
139-
config:
140-
# static build of blosc from vcpkg does not build internal sources.
141-
# USE_STATIC_DEPENDENCIES is required for IlmBase/OpenEXR defines and
142-
# Boost as both shared and static libs are installed.
143-
# USE_EXPLICIT_INSTANTIATION is disabled for debug static libraries
144-
# due to disk space constraints
145-
# @note Commented out the static debug build due to linker OOM LNK1102
146-
- { 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' }
147-
#- { 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' }
148-
- { vc: 'x64-windows', components: 'core,bin,view,render,python,test', build: 'Release', cmake: '-A x64 -G \"Visual Studio 17 2022\" -DOPENVDB_CORE_STATIC=OFF' }
149-
- { vc: 'x64-windows', components: 'core,bin,view,render,python,test', build: 'Debug', cmake: '-A x64 -G \"Visual Studio 17 2022\" -DOPENVDB_CORE_STATIC=OFF' }
150-
#- { vc: 'x64-windows', build: 'Release', cmake: '-G \"MinGW Makefiles\" -DOPENVDB_CORE_STATIC=OFF' }
151143
fail-fast: false
152144
steps:
153145
- uses: actions/checkout@v3
154146
- name: path
155147
shell: pwsh
156148
run: |
157149
# note: system path must be modified in a previous step to it's use
158-
echo "$Env:VCPKG_INSTALLATION_ROOT\installed\${{ matrix.config.vc }}\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
159-
echo "${{github.workspace}}\build\openvdb\openvdb\${{ matrix.config.build }}" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
150+
echo "$Env:VCPKG_INSTALLATION_ROOT\installed\x64-windows\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
151+
echo "${{github.workspace}}\build\openvdb\openvdb\Release" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
160152
- name: install
161153
run: ./ci/install_windows.sh
162154
- name: build
163155
run: >
164156
./ci/build.sh -v
165-
--config=${{ matrix.config.build }}
166-
--components=${{ matrix.config.components }}
157+
--config='Release'
158+
--components='core,bin,view,render,python,test'
167159
--cargs=\'
168-
${{ matrix.config.cmake }}
160+
-A x64 -G \"Visual Studio 17 2022\" -DOPENVDB_CORE_STATIC=OFF
169161
-DMSVC_COMPRESS_PDB=ON
170162
-DUSE_EXR=ON
171163
-DUSE_PNG=ON
@@ -176,27 +168,29 @@ jobs:
176168
# Print the build directy size (monitor if we're hitting runner limits)
177169
run: du -h build
178170
- name: test
179-
# Always run tests on weekly builds but skip Debug on commits as they take a while.
180-
# https://github.community/t/distinct-job-for-each-schedule/17811/2
181-
if: contains(github.event.schedule, '0 7 * * 1') || matrix.config.build == 'Release'
182-
run: cd build && ctest -V -C ${{ matrix.config.build }}
171+
run: cd build && ctest -V -C Release
183172

184173
macos:
185174
if: |
186175
github.event_name != 'workflow_dispatch' ||
187176
github.event.inputs.type == 'all' ||
188177
github.event.inputs.type == 'mac'
189-
runs-on: macos-latest
178+
runs-on: macos-13 # Last macos runner befor M1 (macos-14)
190179
env:
191180
CXX: clang++
192181
steps:
193182
- uses: actions/checkout@v3
194183
- name: install
195-
run: ./ci/install_macos.sh
184+
run: |
185+
./ci/install_macos.sh
186+
./ci/install_tbb_macos.sh
196187
- name: build
197188
run: >
198189
./ci/build.sh -v
199190
--build-type=Release
200191
--components=\"core,python,bin,view,render,test\"
192+
--cargs=\'
193+
-DCMAKE_INSTALL_PREFIX=${{ github.workspace }}/install
194+
\'
201195
- name: test
202196
run: cd build && ctest -V

.github/workflows/docs.yml

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,9 @@ jobs:
4242
# need to re-write the python docs to use sphinx
4343
image: aswf/ci-openvdb:2022
4444
steps:
45+
- name: Enable Node 16
46+
run: |
47+
echo "ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true" >> $GITHUB_ENV
4548
- uses: actions/checkout@v3
4649
- name: install_doxygen
4750
run: ./ci/install_doxygen.sh 1_8_11
@@ -51,7 +54,12 @@ jobs:
5154
# - name: install_epydoc
5255
# run: pip install epydoc
5356
- name: install_latex
54-
run: yum -y install texlive-latex-bin texlive-dvips texlive-collection-fontsrecommended texlive-collection-latexrecommended
57+
run: |
58+
# Fix error: Cannot prepare internal mirrorlist: No URLs in mirrorlist. CentOS 8 reached EOL means need to replace the official mirror to vault.centos.org
59+
# Comment out mirrorlist and replace #baseurl=...mirror.centos.org with baseurl=...vault.centos.org in files starting with CentOS- in /etc/yum.repos.d folder
60+
sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-*
61+
sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-*
62+
yum -y install texlive-latex-bin texlive-dvips texlive-collection-fontsrecommended texlive-collection-latexrecommended
5563
- name: build
5664
run: >
5765
./ci/build.sh -v

.github/workflows/houdini.yml

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,9 @@ jobs:
8383
steps:
8484
# See note on this step in the Houdini weekly.yml job
8585
# We can remove this when we no longer use < 2023 images
86+
- name: Enable Node 16
87+
run: |
88+
echo "ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true" >> $GITHUB_ENV
8689
- name: remove zstd
8790
run: yum -y remove zstd
8891
- uses: actions/checkout@v3
@@ -159,23 +162,22 @@ jobs:
159162
cp hou/hou.tar.gz $HOME/houdini_install/hou.tar.gz
160163
cd $HOME/houdini_install && tar -xzf hou.tar.gz && cd -
161164
- name: install_deps
162-
run: |
163-
brew update
164-
brew install bash gnu-getopt cmake boost glfw googletest openexr pybind11 llvm@15 cppunit
165-
echo "/usr/local/opt/gnu-getopt/bin" >> $GITHUB_PATH
165+
run: ./ci/install_macos.sh 15
166166
- name: build
167167
run: |
168168
./ci/build.sh -v \
169169
--build-type=Release \
170-
--components="core,hou,bin,view,render,python,test,axcore,axbin,axtest" \
170+
--components="core,hou,bin,view,render,python,test,axcore,axbin" \
171171
--cargs=\" \
172172
-DHOUDINI_ROOT=$HOME/houdini_install/hou \
173173
-DOPENVDB_BUILD_HOUDINI_ABITESTS=OFF \
174174
-DOPENVDB_HOUDINI_INSTALL_PREFIX=/tmp \
175175
-DDISABLE_CMAKE_SEARCH_PATHS=ON \
176176
-DDISABLE_DEPENDENCY_VERSION_CHECKS=ON \
177177
-DUSE_EXPLICIT_INSTANTIATION=OFF \
178-
-DLLVM_DIR=/usr/local/opt/llvm@15/lib/cmake/llvm \
178+
-DTbb_INCLUDE_DIR=$HOME/houdini_install/hou/Frameworks/Houdini.framework/Versions/Current/Resources/toolkit/include/tbb \
179+
-DLLVM_DIR=/opt/homebrew/opt/llvm@15/lib/cmake/llvm \
180+
-DCMAKE_INSTALL_PREFIX=${{ github.workspace }}/install \
179181
\"
180182
- name: test
181183
run: cd build && ctest -V

.github/workflows/nanovdb.yml

Lines changed: 21 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -65,9 +65,17 @@ jobs:
6565
- { cxx: clang++, image: '2022-clang11', build: 'Debug' }
6666
fail-fast: false
6767
steps:
68+
- name: Enable Node 16
69+
if: contains(matrix.config.image, '2022')
70+
run: |
71+
echo "ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true" >> $GITHUB_ENV
6872
- uses: actions/checkout@v3
6973
- name: install_cuda_11
7074
run: |
75+
# Fix error: Cannot prepare internal mirrorlist: No URLs in mirrorlist. CentOS 8 reached EOL means need to replace the official mirror to vault.centos.org
76+
# Comment out mirrorlist and replace #baseurl=...mirror.centos.org with baseurl=...vault.centos.org in files starting with CentOS- in /etc/yum.repos.d folder
77+
sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-*
78+
sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-*
7179
yum -y install yum-utils
7280
yum-config-manager --add-repo http://developer.download.nvidia.com/compute/cuda/repos/rhel7/x86_64/cuda-rhel7.repo
7381
echo "Installing cuda toolkit"
@@ -96,43 +104,32 @@ jobs:
96104
github.event.inputs.type == 'win'
97105
runs-on: ${{ (github.repository_owner == 'AcademySoftwareFoundation' && 'windows-2022-8c-32g-300h') || 'windows-latest' }}
98106
env:
99-
VCPKG_DEFAULT_TRIPLET: ${{ matrix.config.vc }}
107+
VCPKG_DEFAULT_TRIPLET: 'x64-windows'
100108
visual_studio: "Visual Studio 17 2022"
101-
cuda: "11.6.2"
109+
cuda: "12.4.0"
102110
strategy:
103-
matrix:
104-
config:
105-
# static build of blosc from vcpkg does not build internal sources.
106-
# USE_STATIC_DEPENDENCIES is required for IlmBase/OpenEXR defines and
107-
# Boost as both shared and static libs are installed.
108-
- { 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' }
109-
- { 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' }
110-
- { vc: 'x64-windows', build: 'Release', cmake: '-A x64 -G \"Visual Studio 17 2022\" -DOPENVDB_CORE_STATIC=OFF' }
111-
- { vc: 'x64-windows', build: 'Debug', cmake: '-A x64 -G \"Visual Studio 17 2022\" -DOPENVDB_CORE_STATIC=OFF' }
112111
fail-fast: false
113112
steps:
114113
- uses: actions/checkout@v3
115114
- name: path
116115
run: |
117116
# note: system path must be modified in a previous step to it's use
118-
echo "$Env:VCPKG_INSTALLATION_ROOT\installed\${{ matrix.config.vc }}\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
119-
echo "${{github.workspace}}\build\openvdb\openvdb\${{ matrix.config.build }}" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
117+
echo "$Env:VCPKG_INSTALLATION_ROOT\installed\x64-windows\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
118+
echo "${{github.workspace}}\build\openvdb\openvdb\Release" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
120119
- name: install_cuda
121120
shell: powershell
122121
run: .\ci\install_windows_cuda.ps1
123122
- name: install_deps
124123
shell: bash
125-
run: |
126-
vcpkg update
127-
vcpkg install zlib tbb gtest blosc boost-iostreams boost-system boost-any boost-uuid boost-interprocess boost-algorithm
124+
run: ./ci/install_windows.sh
128125
- name: build
129126
shell: bash
130127
run: >
131128
./ci/build.sh -v
132-
--config=${{ matrix.config.build }}
129+
--config=Release
133130
--components=core,nano,nanotest,nanoexam,nanobench,nanotool
134131
--cargs=\'
135-
${{ matrix.config.cmake }}
132+
-A x64 -G \"Visual Studio 17 2022\" -DOPENVDB_CORE_STATIC=OFF
136133
-DMSVC_COMPRESS_PDB=ON
137134
-DUSE_EXPLICIT_INSTANTIATION=OFF
138135
-DNANOVDB_USE_CUDA=ON
@@ -155,13 +152,15 @@ jobs:
155152
strategy:
156153
matrix:
157154
config:
158-
- { runner: 'macos-11', cxx: 'clang++', build: 'Release' }
159-
- { runner: 'macos-11', cxx: 'clang++', build: 'Debug' }
155+
- { runner: 'macos-12', cxx: 'clang++', build: 'Release' }
156+
- { runner: 'macos-12', cxx: 'clang++', build: 'Debug' }
160157
fail-fast: false
161158
steps:
162159
- uses: actions/checkout@v3
163160
- name: install_deps
164-
run: ./ci/install_macos.sh
161+
run: |
162+
./ci/install_macos.sh
163+
./ci/install_tbb_macos.sh
165164
- name: build
166165
run: >
167166
./ci/build.sh -v
@@ -188,6 +187,6 @@ jobs:
188187
cd nanovdb/nanovdb
189188
sudo mkdir .build
190189
cd .build
191-
sudo cmake -DUSE_EXPLICIT_INSTANTIATION=OFF -DNANOVDB_BUILD_UNITTESTS=ON ../
190+
sudo cmake -DUSE_EXPLICIT_INSTANTIATION=OFF -DNANOVDB_BUILD_UNITTESTS=ON -DNANOVDB_USE_OPENVDB=OFF -DNANOVDB_USE_CUDA=OFF ../
192191
sudo make -j8 install
193192
sudo ctest -V

0 commit comments

Comments
 (0)