Skip to content

Commit a510c00

Browse files
committed
Merge branch 'master' into angle-brackets
2 parents 978961c + 3855163 commit a510c00

File tree

170 files changed

+5435
-2240
lines changed

Some content is hidden

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

170 files changed

+5435
-2240
lines changed

.github/workflows/ax.yml

Lines changed: 16 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,11 @@ 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: |
@@ -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: '2', components: 'core,python,bin,axcore,axbin,axtest' }
65+
- { image: '2021-clang10', cxx: 'g++', build: 'Release', j: '1', components: 'core,python,bin,axcore,axbin,axtest' }
66+
- { image: '2022-clang11', cxx: 'clang++', build: 'Debug', j: '2', components: 'core,python,bin,axcore,axbin,axtest' }
67+
- { image: '2022-clang11', cxx: 'clang++', build: 'Release', j: '2', components: 'core,python,bin,axcore,axbin,axtest' }
68+
- { image: '2022-clang11', cxx: 'g++', build: 'Release', j: '1', 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
@@ -157,9 +160,9 @@ jobs:
157160
github.event.inputs.type == 'grammar'
158161
runs-on: ubuntu-latest
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: 23 additions & 20 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
@@ -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
@@ -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 16 2019\" -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 16 2019\" -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 16 2019\" -DOPENVDB_CORE_STATIC=OFF' }
137+
- { vc: 'x64-windows', components: 'core,bin,view,render,python,test', build: 'Debug', cmake: '-A x64 -G \"Visual Studio 16 2019\" -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: 67 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -23,27 +23,34 @@ 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:
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
3643
image: aswf/ci-openvdb:2019
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
4148
- name: install_epydoc
4249
run: pip install epydoc
4350
- name: install_latex
4451
run: yum -y install texlive-latex-bin texlive-dvips texlive-collection-fontsrecommended texlive-collection-latexrecommended
4552
- name: install_cmake
46-
run: ./ci/install_cmake.sh 3.15.0
53+
run: ./ci/install_cmake.sh 3.18.0
4754
- name: build
4855
run: >
4956
./ci/build.sh -v
@@ -73,15 +80,69 @@ jobs:
7380
if: |
7481
github.repository_owner == 'AcademySoftwareFoundation' &&
7582
github.event_name == 'workflow_dispatch' &&
76-
github.event.inputs.deploy == 'true'
83+
github.event.inputs.deploy == 'docs'
7784
uses: peaceiris/actions-gh-pages@v3
7885
with:
7986
deploy_key: ${{ secrets.ACTIONS_DEPLOY_KEY }}
8087
publish_dir: /usr/local/share/doc/OpenVDB/html
8188
destination_dir: documentation/doxygen
8289
external_repository: AcademySoftwareFoundation/openvdb-website
83-
publish_branch: doxygen
90+
publish_branch: master
8491
full_commit_message: "Automatic doxygen documentation update
8592
- Deployed from: AcademySoftwareFoundation/openvdb ${{ github.sha }}
8693
8794
Signed-off-by: ${{ github.actor }} <${{ github.actor }}@users.noreply.github.com>"
95+
96+
#############################################################################
97+
################################ Coverage ###################################
98+
#############################################################################
99+
100+
linux-coverage:
101+
if: |
102+
github.repository_owner == 'AcademySoftwareFoundation' &&
103+
github.event_name == 'workflow_dispatch' &&
104+
github.event.inputs.deploy == 'coverage'
105+
runs-on: ubuntu-latest
106+
container:
107+
image: aswf/ci-openvdb:2022
108+
env:
109+
CXX: g++
110+
steps:
111+
- uses: actions/checkout@v3
112+
- name: install_gtest
113+
run: ./ci/install_gtest.sh 1.10.0
114+
- name: install_gcovr
115+
run: pip install gcovr
116+
- name: build
117+
run: >
118+
./ci/build.sh -v
119+
--build-type=coverage
120+
--components="core,axcore,test,axtest"
121+
--cargs=\"-DOPENVDB_CORE_STATIC=OFF -DOPENVDB_AX_STATIC=OFF\"
122+
- name: test_and_gcov
123+
run: |
124+
cd build
125+
ctest -V
126+
make gcov_html
127+
- name: pre_deploy
128+
# Overwrite global SSH configuration
129+
# https://github.com/peaceiris/actions-gh-pages/issues/719
130+
# https://linuxhint.com/ssh-stricthostkeychecking/
131+
run: >
132+
echo "Host *
133+
StrictHostKeyChecking no
134+
UserKnownHostsFile=/dev/null
135+
" > /etc/ssh/ssh_config
136+
- name: deploy
137+
uses: peaceiris/actions-gh-pages@v3
138+
with:
139+
deploy_key: ${{ secrets.ACTIONS_DEPLOY_KEY }}
140+
publish_dir: ./build/gcov_html
141+
destination_dir: documentation/code_coverage
142+
external_repository: AcademySoftwareFoundation/openvdb-website
143+
publish_branch: master
144+
full_commit_message: "Automatic code coverage update
145+
- Deployed from: AcademySoftwareFoundation/openvdb ${{ github.sha }}
146+
147+
Signed-off-by: ${{ github.actor }} <${{ github.actor }}@users.noreply.github.com>"
148+

.github/workflows/houdini.yml

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,11 @@ 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
@@ -51,9 +56,10 @@ jobs:
5156

5257
linux-vfx-houdini:
5358
needs: [checksecret]
54-
if: >
55-
${{ needs.checksecret.outputs.HOUDINI_SECRETS == 'true' ||
56-
github.repository_owner == 'AcademySoftwareFoundation' }}
59+
# if: >
60+
# ${{ needs.checksecret.outputs.HOUDINI_SECRETS == 'true' ||
61+
# github.repository_owner == 'AcademySoftwareFoundation' }}
62+
if: ${{ false }} # disable for now
5763
runs-on: ubuntu-latest
5864
name: hou:${{ matrix.config.hou }}-vfx:${{ matrix.config.image }}-cxx:${{ matrix.config.cxx }}
5965
container:
@@ -64,13 +70,14 @@ jobs:
6470
strategy:
6571
matrix:
6672
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' }
73+
- { cxx: clang++, image: '2021', hou: '19_5', j: '2', build: 'Release', components: 'core,hou,bin,view,render,python,test,axcore,axbin,axtest', disable_checks: 'OFF' }
74+
# Houdini 19 is technically on VFX 2020, but we need 2021 dependencies for VDB 10
75+
- { cxx: clang++, image: '2021', hou: '19_0', j: '2', build: 'Release', components: 'core,hou,bin,view,render,python,test,axcore,axbin,axtest', disable_checks: 'ON' }
76+
- { cxx: clang++, image: '2021', hou: '19_5', j: '2', build: 'Debug', components: 'core,hou', disable_checks: 'OFF' }
77+
- { cxx: g++, image: '2021', hou: '19_5', j: '1', build: 'Release', components: 'core,hou', disable_checks: 'OFF' }
7178
fail-fast: false
7279
steps:
73-
- uses: actions/checkout@v2
80+
- uses: actions/checkout@v3
7481
- name: timestamp
7582
id: timestamp
7683
shell: bash
@@ -100,8 +107,6 @@ jobs:
100107
mkdir $HOME/houdini_install
101108
cp hou/hou.tar.gz $HOME/houdini_install/hou.tar.gz
102109
cd $HOME/houdini_install && tar -xzf hou.tar.gz && cd -
103-
- name: install_cmake
104-
run: ./ci/install_cmake.sh 3.15.0
105110
- name: build
106111
shell: bash
107112
run: >

0 commit comments

Comments
 (0)