Skip to content

Commit 182d411

Browse files
committed
Merge branch 'master' into replicate
2 parents 3d4a1bb + 85e89b7 commit 182d411

File tree

418 files changed

+86957
-5697
lines changed

Some content is hidden

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

418 files changed

+86957
-5697
lines changed

.github/workflows/ax.yml

Lines changed: 18 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -38,13 +38,18 @@ on:
3838
required: true
3939
default: 'all'
4040

41+
# Allow subsequent pushes to the same PR or REF to cancel any previous jobs.
42+
concurrency:
43+
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
44+
cancel-in-progress: true
45+
4146
jobs:
4247
linux-ax:
4348
if: |
4449
github.event_name != 'workflow_dispatch' ||
4550
github.event.inputs.type == 'all' ||
4651
github.event.inputs.type == 'linux'
47-
runs-on: ubuntu-latest
52+
runs-on: ubuntu-20.04-8c-32g-300h
4853
name: >
4954
linux-ax:${{ matrix.config.image }}-cxx:${{ matrix.config.cxx }}-${{ matrix.config.build }}
5055
container:
@@ -56,14 +61,14 @@ jobs:
5661
matrix:
5762
config:
5863
# Unified
59-
- { image: '2021-clang10', cxx: 'clang++', build: 'Release', j: '2', components: 'core,bin,axcore,axbin,axtest' }
60-
- { image: '2021-clang10', cxx: 'g++', build: 'Release', j: '1', components: 'core,bin,axcore,axbin,axtest' }
61-
- { image: '2022-clang11', cxx: 'clang++', build: 'Debug', j: '2', components: 'core,bin,axcore,axbin,axtest' }
62-
- { image: '2022-clang11', cxx: 'clang++', build: 'Release', j: '2', components: 'core,bin,axcore,axbin,axtest' }
63-
- { image: '2022-clang11', cxx: 'g++', build: 'Release', j: '1', components: 'core,bin,axcore,axbin,axtest' }
64+
- { image: '2021-clang10', cxx: 'clang++', build: 'Release', j: '8', components: 'core,python,bin,axcore,axbin,axtest' }
65+
- { image: '2021-clang10', cxx: 'g++', build: 'Release', j: '8', components: 'core,python,bin,axcore,axbin,axtest' }
66+
- { image: '2022-clang11', cxx: 'clang++', build: 'Debug', j: '8', components: 'core,python,bin,axcore,axbin,axtest' }
67+
- { image: '2022-clang11', cxx: 'clang++', build: 'Release', j: '8', components: 'core,python,bin,axcore,axbin,axtest' }
68+
- { image: '2022-clang11', cxx: 'g++', build: 'Release', j: '8', components: 'core,python,bin,axcore,axbin,axtest' }
6469
fail-fast: false
6570
steps:
66-
- uses: actions/checkout@v2
71+
- uses: actions/checkout@v3
6772
- name: timestamp
6873
id: timestamp
6974
shell: bash
@@ -126,21 +131,19 @@ jobs:
126131
matrix:
127132
config:
128133
#@note llvm10 never got its own brew formula...
129-
- { runner: 'macos-10.15', cxx: 'clang++', build: 'Release', llvm: '7' }
130-
- { runner: 'macos-11', cxx: 'clang++', build: 'Release', llvm: '8' }
131-
- { runner: 'macos-11', cxx: 'clang++', build: 'Release', llvm: '9' }
132134
- { runner: 'macos-11', cxx: 'clang++', build: 'Release', llvm: '11' }
133135
- { runner: 'macos-11', cxx: 'clang++', build: 'Release', llvm: '12' }
136+
- { runner: 'macos-11', cxx: 'clang++', build: 'Release', llvm: '13' }
134137
fail-fast: false
135138
steps:
136-
- uses: actions/checkout@v2
139+
- uses: actions/checkout@v3
137140
- name: install_deps
138141
run: ./ci/install_macos_ax.sh ${{ matrix.config.llvm }}
139142
- name: build
140143
run: >
141144
./ci/build.sh -v
142145
--build-type=${{ matrix.config.build }}
143-
--components="core,bin,axcore,axbin,axtest"
146+
--components="core,python,bin,axcore,axbin,axtest"
144147
--cargs=\"
145148
-DOPENVDB_AX_TEST_CMD_DOWNLOADS=ON
146149
-DUSE_EXPLICIT_INSTANTIATION=OFF
@@ -155,11 +158,11 @@ jobs:
155158
if: |
156159
github.event_name == 'workflow_dispatch' &&
157160
github.event.inputs.type == 'grammar'
158-
runs-on: ubuntu-latest
161+
runs-on: ubuntu-20.04-8c-32g-300h
159162
container:
160-
image: aswf/ci-openvdb:2021-clang10
163+
image: aswf/ci-openvdb:2022-clang11
161164
steps:
162-
- uses: actions/checkout@v2
165+
- uses: actions/checkout@v3
163166
- name: build
164167
run: ./ci/build.sh -v --components=axgr --target=openvdb_ax_grammar --cargs=\"-DOPENVDB_AX_GRAMMAR_NO_LINES=ON\"
165168
- name: upload grammar

.github/workflows/build.yml

Lines changed: 25 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,11 @@ on:
4343
required: true
4444
default: 'all'
4545

46+
# Allow subsequent pushes to the same PR or REF to cancel any previous jobs.
47+
concurrency:
48+
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
49+
cancel-in-progress: true
50+
4651
jobs:
4752
linux-vfx:
4853
# VFX platform jobs. These are run on the appropriate CentOS images from
@@ -51,7 +56,7 @@ jobs:
5156
github.event_name != 'workflow_dispatch' ||
5257
github.event.inputs.type == 'all' ||
5358
github.event.inputs.type == 'linux'
54-
runs-on: ubuntu-latest
59+
runs-on: ubuntu-20.04-8c-32g-300h
5560
name: >
5661
linux-vfx:${{ matrix.config.image }}-
5762
abi:${{ matrix.config.abi }}-
@@ -65,16 +70,16 @@ jobs:
6570
strategy:
6671
matrix:
6772
config:
68-
- { cxx: clang++, image: '2022-clang11', abi: '9', build: 'Release' }
69-
- { cxx: clang++, image: '2022-clang11', abi: '9', build: 'Debug' }
70-
- { cxx: clang++, image: '2021', abi: '8', build: 'Release' }
71-
- { cxx: clang++, image: '2020', abi: '7', build: 'Release' }
72-
- { cxx: g++, image: '2022-clang11', abi: '9', build: 'Release' }
73-
- { cxx: g++, image: '2021', abi: '8', build: 'Release' }
74-
- { cxx: g++, image: '2020', abi: '7', build: 'Release' }
73+
- { cxx: clang++, image: '2022-clang11', abi: '10', build: 'Release' }
74+
- { cxx: clang++, image: '2022-clang11', abi: '10', build: 'Debug' }
75+
- { cxx: g++, image: '2022-clang11', abi: '10', build: 'Release' }
76+
- { cxx: clang++, image: '2022-clang11', abi: '9', build: 'Release' }
77+
- { cxx: g++, image: '2022-clang11', abi: '9', build: 'Release' }
78+
- { cxx: clang++, image: '2021', abi: '8', build: 'Release' }
79+
- { cxx: g++, image: '2021', abi: '8', build: 'Release' }
7580
fail-fast: false
7681
steps:
77-
- uses: actions/checkout@v2
82+
- uses: actions/checkout@v3
7883
- name: timestamp
7984
id: timestamp
8085
shell: bash
@@ -113,7 +118,7 @@ jobs:
113118
github.event_name != 'workflow_dispatch' ||
114119
github.event.inputs.type == 'all' ||
115120
github.event.inputs.type == 'win'
116-
runs-on: windows-2019
121+
runs-on: windows-2022-8c-32g-300h
117122
name: windows-vc:${{ matrix.config.vc }}-type:${{ matrix.config.build }}
118123
env:
119124
VCPKG_DEFAULT_TRIPLET: ${{ matrix.config.vc }}
@@ -125,14 +130,15 @@ jobs:
125130
# Boost as both shared and static libs are installed.
126131
# USE_EXPLICIT_INSTANTIATION is disabled for debug static libraries
127132
# due to disk space constraints
128-
- { vc: 'x64-windows-static', build: 'Release', cmake: '-A x64 -G \"Visual Studio 16 2019\" -DOPENVDB_CORE_SHARED=OFF -DUSE_STATIC_DEPENDENCIES=ON -DBLOSC_USE_EXTERNAL_SOURCES=ON' }
129-
- { vc: 'x64-windows-static', build: 'Debug', cmake: '-A x64 -G \"Visual Studio 16 2019\" -DOPENVDB_CORE_SHARED=OFF -DUSE_STATIC_DEPENDENCIES=ON -DBLOSC_USE_EXTERNAL_SOURCES=ON -DUSE_EXPLICIT_INSTANTIATION=OFF' }
130-
- { vc: 'x64-windows', build: 'Release', cmake: '-A x64 -G \"Visual Studio 16 2019\" -DOPENVDB_CORE_STATIC=OFF' }
131-
- { vc: 'x64-windows', build: 'Debug', cmake: '-A x64 -G \"Visual Studio 16 2019\" -DOPENVDB_CORE_STATIC=OFF' }
133+
# @note Commented out the static debug build due to linker OOM LNK1102
134+
- { 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' }
135+
#- { 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' }
136+
- { vc: 'x64-windows', components: 'core,bin,view,render,python,test', build: 'Release', cmake: '-A x64 -G \"Visual Studio 17 2022\" -DOPENVDB_CORE_STATIC=OFF' }
137+
- { vc: 'x64-windows', components: 'core,bin,view,render,python,test', build: 'Debug', cmake: '-A x64 -G \"Visual Studio 17 2022\" -DOPENVDB_CORE_STATIC=OFF' }
132138
#- { vc: 'x64-windows', build: 'Release', cmake: '-G \"MinGW Makefiles\" -DOPENVDB_CORE_STATIC=OFF' }
133139
fail-fast: false
134140
steps:
135-
- uses: actions/checkout@v2
141+
- uses: actions/checkout@v3
136142
- name: path
137143
run: |
138144
# note: system path must be modified in a previous step to it's use
@@ -146,7 +152,7 @@ jobs:
146152
run: >
147153
./ci/build.sh -v
148154
--config=${{ matrix.config.build }}
149-
--components=\"core,bin,view,render,test\"
155+
--components=${{ matrix.config.components }}
150156
--cargs=\'
151157
${{ matrix.config.cmake }}
152158
-DMSVC_COMPRESS_PDB=ON
@@ -166,7 +172,7 @@ jobs:
166172
if: contains(github.event.schedule, '0 7 * * 1') || matrix.config.build == 'Release'
167173
run: cd build && ctest -V -C ${{ matrix.config.build }}
168174

169-
testmacos11:
175+
macos:
170176
if: |
171177
github.event_name != 'workflow_dispatch' ||
172178
github.event.inputs.type == 'all' ||
@@ -175,17 +181,14 @@ jobs:
175181
env:
176182
CXX: clang++
177183
steps:
178-
- uses: actions/checkout@v2
184+
- uses: actions/checkout@v3
179185
- name: install
180186
shell: bash
181187
# brew boost-python3 installs a "Keg-only" version of python which is
182188
# not installed to PATH. We must manually provide the location of the
183189
# required python installation to CMake through a hint variable which
184190
# is exported in install_macos.sh
185191
run: ./ci/install_macos.sh
186-
- name: install
187-
shell: bash
188-
run: ./ci/install_blosc.sh 1.5.0
189192
- name: build
190193
shell: bash
191194
# Also need to disable compiler warnings for ABI 6 and above due to
@@ -194,7 +197,7 @@ jobs:
194197
./ci/build.sh -v
195198
--build-type=Release
196199
--components=\"core,python,bin,view,render,test\"
197-
--cargs=\"-DOPENVDB_CXX_STRICT=OFF -DOPENVDB_ABI_VERSION_NUMBER=9 -DOPENVDB_SIMD=SSE42\"
200+
--cargs=\"-DOPENVDB_CXX_STRICT=OFF -DOPENVDB_ABI_VERSION_NUMBER=10 -DOPENVDB_SIMD=SSE42\"
198201
- name: test
199202
shell: bash
200203
run: cd build && ctest -V

.github/workflows/docs.yml

Lines changed: 72 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -23,27 +23,32 @@ on:
2323
workflow_dispatch:
2424
inputs:
2525
deploy:
26-
description: 'Deploy docs?'
26+
description: 'Deploy to openvdb-website (docs/coverage)?'
2727
required: true
28-
default: 'false'
28+
default: 'none'
29+
30+
# Allow subsequent pushes to the same PR or REF to cancel any previous jobs.
31+
concurrency:
32+
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
33+
cancel-in-progress: true
2934

3035
jobs:
3136
doxygen:
3237
runs-on: ubuntu-latest
3338
env:
3439
CXX: g++
3540
container:
36-
image: aswf/ci-openvdb:2019
41+
# @note We can't update this as epydoc doesn't support python3. We'll
42+
# need to re-write the python docs to use sphinx
43+
image: aswf/ci-openvdb:2022
3744
steps:
38-
- uses: actions/checkout@v2
45+
- uses: actions/checkout@v3
3946
- name: install_doxygen
4047
run: ./ci/install_doxygen.sh 1_8_11
41-
- name: install_epydoc
42-
run: pip install epydoc
48+
# - name: install_epydoc
49+
# run: pip install epydoc
4350
- name: install_latex
4451
run: yum -y install texlive-latex-bin texlive-dvips texlive-collection-fontsrecommended texlive-collection-latexrecommended
45-
- name: install_cmake
46-
run: ./ci/install_cmake.sh 3.15.0
4752
- name: build
4853
run: >
4954
./ci/build.sh -v
@@ -56,9 +61,9 @@ jobs:
5661
-DUSE_EXPLICIT_INSTANTIATION=OFF
5762
-DDISABLE_DEPENDENCY_VERSION_CHECKS=ON
5863
\"
59-
- name: epydoc
60-
run: |
61-
epydoc --html -o /usr/local/share/doc/OpenVDB/html/python pyopenvdb
64+
# - name: epydoc
65+
# run: |
66+
# epydoc --html -o /usr/local/share/doc/OpenVDB/html/python pyopenvdb
6267
- name: pre_deploy
6368
# Overwrite global SSH configuration
6469
# https://github.com/peaceiris/actions-gh-pages/issues/719
@@ -73,15 +78,69 @@ jobs:
7378
if: |
7479
github.repository_owner == 'AcademySoftwareFoundation' &&
7580
github.event_name == 'workflow_dispatch' &&
76-
github.event.inputs.deploy == 'true'
81+
github.event.inputs.deploy == 'docs'
7782
uses: peaceiris/actions-gh-pages@v3
7883
with:
7984
deploy_key: ${{ secrets.ACTIONS_DEPLOY_KEY }}
8085
publish_dir: /usr/local/share/doc/OpenVDB/html
8186
destination_dir: documentation/doxygen
8287
external_repository: AcademySoftwareFoundation/openvdb-website
83-
publish_branch: doxygen
88+
publish_branch: master
8489
full_commit_message: "Automatic doxygen documentation update
8590
- Deployed from: AcademySoftwareFoundation/openvdb ${{ github.sha }}
8691
8792
Signed-off-by: ${{ github.actor }} <${{ github.actor }}@users.noreply.github.com>"
93+
94+
#############################################################################
95+
################################ Coverage ###################################
96+
#############################################################################
97+
98+
linux-coverage:
99+
if: |
100+
github.repository_owner == 'AcademySoftwareFoundation' &&
101+
github.event_name == 'workflow_dispatch' &&
102+
github.event.inputs.deploy == 'coverage'
103+
runs-on: ubuntu-latest
104+
container:
105+
image: aswf/ci-openvdb:2022
106+
env:
107+
CXX: g++
108+
steps:
109+
- uses: actions/checkout@v3
110+
- name: install_gtest
111+
run: ./ci/install_gtest.sh 1.10.0
112+
- name: install_gcovr
113+
run: pip install gcovr
114+
- name: build
115+
run: >
116+
./ci/build.sh -v
117+
--build-type=coverage
118+
--components="core,axcore,test,axtest"
119+
--cargs=\"-DOPENVDB_CORE_STATIC=OFF -DOPENVDB_AX_STATIC=OFF\"
120+
- name: test_and_gcov
121+
run: |
122+
cd build
123+
ctest -V
124+
make gcov_html
125+
- name: pre_deploy
126+
# Overwrite global SSH configuration
127+
# https://github.com/peaceiris/actions-gh-pages/issues/719
128+
# https://linuxhint.com/ssh-stricthostkeychecking/
129+
run: >
130+
echo "Host *
131+
StrictHostKeyChecking no
132+
UserKnownHostsFile=/dev/null
133+
" > /etc/ssh/ssh_config
134+
- name: deploy
135+
uses: peaceiris/actions-gh-pages@v3
136+
with:
137+
deploy_key: ${{ secrets.ACTIONS_DEPLOY_KEY }}
138+
publish_dir: ./build/gcov_html
139+
destination_dir: documentation/code_coverage
140+
external_repository: AcademySoftwareFoundation/openvdb-website
141+
publish_branch: master
142+
full_commit_message: "Automatic code coverage update
143+
- Deployed from: AcademySoftwareFoundation/openvdb ${{ github.sha }}
144+
145+
Signed-off-by: ${{ github.actor }} <${{ github.actor }}@users.noreply.github.com>"
146+

.github/workflows/houdini.yml

Lines changed: 18 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -31,12 +31,17 @@ on:
3131
- cron: '0 7 * * *'
3232
workflow_dispatch:
3333

34+
# Allow subsequent pushes to the same PR or REF to cancel any previous jobs.
35+
concurrency:
36+
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
37+
cancel-in-progress: true
38+
3439
jobs:
3540
checksecret:
3641
# Check that valid github secrets have been set. This isn't needed to retrieve
3742
# the cache, but ensures that the job doens't start with an empty cache
3843
name: Verify Houdini Secrets
39-
runs-on: ubuntu-latest
44+
runs-on: ubuntu-20.04-8c-32g-300h
4045
outputs:
4146
HOUDINI_SECRETS: ${{ steps.check.outputs.HOUDINI_SECRETS }}
4247
steps:
@@ -54,7 +59,7 @@ jobs:
5459
if: >
5560
${{ needs.checksecret.outputs.HOUDINI_SECRETS == 'true' ||
5661
github.repository_owner == 'AcademySoftwareFoundation' }}
57-
runs-on: ubuntu-latest
62+
runs-on: ubuntu-20.04-8c-32g-300h
5863
name: hou:${{ matrix.config.hou }}-vfx:${{ matrix.config.image }}-cxx:${{ matrix.config.cxx }}
5964
container:
6065
image: aswf/ci-base:${{ matrix.config.image }}
@@ -64,13 +69,14 @@ jobs:
6469
strategy:
6570
matrix:
6671
config:
67-
- { cxx: clang++, image: '2020', hou: '19_0', j: '2', build: 'Release', components: 'core,hou,bin,view,render,python,test,axcore,axbin,axtest', disable_checks: 'OFF' }
68-
- { cxx: clang++, image: '2020', hou: '18_5', j: '2', build: 'Release', components: 'core,hou,bin,view,render,python,test,axcore,axbin,axtest', disable_checks: 'OFF' }
69-
- { cxx: clang++, image: '2020', hou: '19_0', j: '2', build: 'Debug', components: 'core,hou', disable_checks: 'OFF' }
70-
- { cxx: g++, image: '2020', hou: '19_0', j: '1', build: 'Release', components: 'core,hou', disable_checks: 'OFF' }
72+
- { cxx: clang++, image: '2021', hou: '19_5', j: '8', build: 'Release', components: 'core,hou,bin,view,render,python,test,axcore,axbin,axtest', disable_checks: 'OFF' }
73+
# Houdini 19 is technically on VFX 2020, but we need 2021 dependencies for VDB 10
74+
- { cxx: clang++, image: '2021', hou: '19_0', j: '8', build: 'Release', components: 'core,hou,bin,view,render,python,test,axcore,axbin,axtest', disable_checks: 'ON' }
75+
- { cxx: clang++, image: '2021', hou: '19_5', j: '8', build: 'Debug', components: 'core,hou', disable_checks: 'OFF' }
76+
- { cxx: g++, image: '2021', hou: '19_5', j: '8', build: 'Release', components: 'core,hou', disable_checks: 'OFF' }
7177
fail-fast: false
7278
steps:
73-
- uses: actions/checkout@v2
79+
- uses: actions/checkout@v3
7480
- name: timestamp
7581
id: timestamp
7682
shell: bash
@@ -100,17 +106,13 @@ jobs:
100106
mkdir $HOME/houdini_install
101107
cp hou/hou.tar.gz $HOME/houdini_install/hou.tar.gz
102108
cd $HOME/houdini_install && tar -xzf hou.tar.gz && cd -
103-
- name: install_cmake
104-
run: ./ci/install_cmake.sh 3.15.0
105109
- name: build
106110
shell: bash
107-
run: >
108-
cd $HOME/houdini_install/hou && source houdini_setup_bash && cd - &&
109-
./ci/build.sh -v
110-
-j ${{ matrix.config.j }}
111-
--build-type=${{ matrix.config.build }}
112-
--components="${{ matrix.config.components }}"
113-
--cargs=\"-DDISABLE_CMAKE_SEARCH_PATHS=ON -DOPENVDB_BUILD_HOUDINI_ABITESTS=ON -DOPENVDB_HOUDINI_INSTALL_PREFIX=/tmp -DDISABLE_DEPENDENCY_VERSION_CHECKS=${{ matrix.config.disable_checks }}\"
111+
run: |
112+
export HFS="$HOME/houdini_install/hou"
113+
export HDSO="${HFS}/dsolib"
114+
export LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:/usr/lib64:${HDSO}"
115+
./ci/build.sh -v --build-type=Release --components="core,hou" --cargs=\"-DDISABLE_DEPENDENCY_VERSION_CHECKS=ON -DDISABLE_CMAKE_SEARCH_PATHS=ON -DOPENVDB_BUILD_HOUDINI_ABITESTS=OFF -DOPENVDB_HOUDINI_INSTALL_PREFIX=/tmp\ -DTBB_INCLUDEDIR=/usr/local/include -DTBB_LIBRARYDIR=/usr/local/lib\"
114116
- name: test
115117
run: cd build && ctest -V
116118
# Keep ccache light by stripping out any caches not accessed in the last day

0 commit comments

Comments
 (0)