Skip to content

Commit 2d271ea

Browse files
committed
Merge branch 'master' into feature/typelists
2 parents e5a740a + 2ea6510 commit 2d271ea

Some content is hidden

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

56 files changed

+2399
-2298
lines changed

.github/workflows/ax.yml

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -56,11 +56,11 @@ jobs:
5656
matrix:
5757
config:
5858
# Unified
59-
- { image: '2021-clang10', cxx: 'clang++', build: 'Release', j: '2', components: 'core,axcore,axbin,axtest' }
60-
- { image: '2021-clang10', cxx: 'g++', build: 'Release', j: '1', components: 'core,axcore,axbin,axtest' }
61-
- { image: '2022-clang11', cxx: 'clang++', build: 'Debug', j: '2', components: 'core,axcore,axbin,axtest' }
62-
- { image: '2022-clang11', cxx: 'clang++', build: 'Release', j: '2', components: 'core,axcore,axbin,axtest' }
63-
- { image: '2022-clang11', cxx: 'g++', build: 'Release', j: '1', components: 'core,axcore,axbin,axtest' }
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' }
6464
fail-fast: false
6565
steps:
6666
- uses: actions/checkout@v2
@@ -97,7 +97,7 @@ jobs:
9797
./ci/build.sh -v
9898
-j ${{ matrix.config.j }}
9999
--build-type=${{ matrix.config.build }}
100-
--components="axcore,axbin,axtest"
100+
--components="bin,axcore,axbin,axtest"
101101
--cargs=\"
102102
-DOPENVDB_AX_TEST_CMD_DOWNLOADS=ON
103103
-DUSE_EXPLICIT_INSTANTIATION=OFF
@@ -140,7 +140,7 @@ jobs:
140140
run: >
141141
./ci/build.sh -v
142142
--build-type=${{ matrix.config.build }}
143-
--components="core,axcore,axbin,axtest"
143+
--components="core,bin,axcore,axbin,axtest"
144144
--cargs=\"
145145
-DOPENVDB_AX_TEST_CMD_DOWNLOADS=ON
146146
-DUSE_EXPLICIT_INSTANTIATION=OFF

.github/workflows/build.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ jobs:
9292
run: >
9393
./ci/build.sh -v
9494
--build-type=${{ matrix.config.build }}
95-
--components=\"core,python,bin,test\"
95+
--components=\"core,python,bin,view,render,test\"
9696
--cargs=\"-DOPENVDB_CXX_STRICT=ON -DOPENVDB_ABI_VERSION_NUMBER=${{ matrix.config.abi }}\"
9797
- name: test
9898
# Always run tests on weekly builds but skip Debug on commits as they take a while.
@@ -146,7 +146,7 @@ jobs:
146146
run: >
147147
./ci/build.sh -v
148148
--config=${{ matrix.config.build }}
149-
--components=\"core,bin,test\"
149+
--components=\"core,bin,view,render,test\"
150150
--cargs=\'${{ matrix.config.cmake }} -DUSE_EXR=ON -DUSE_PNG=ON -DVCPKG_TARGET_TRIPLET=${VCPKG_DEFAULT_TRIPLET} -DCMAKE_TOOLCHAIN_FILE=\"${VCPKG_INSTALLATION_ROOT}\\scripts\\buildsystems\\vcpkg.cmake\"\'
151151
- name: test
152152
shell: bash
@@ -182,7 +182,7 @@ jobs:
182182
run: >
183183
./ci/build.sh -v
184184
--build-type=Release
185-
--components=\"core,python,bin,test\"
185+
--components=\"core,python,bin,view,render,test\"
186186
--cargs=\"-DOPENVDB_CXX_STRICT=OFF -DOPENVDB_ABI_VERSION_NUMBER=9 -DOPENVDB_SIMD=SSE42\"
187187
- name: test
188188
shell: bash

.github/workflows/houdini.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -64,8 +64,8 @@ jobs:
6464
strategy:
6565
matrix:
6666
config:
67-
- { cxx: clang++, image: '2020', hou: '19_0', j: '2', build: 'Release', components: 'core,hou,bin,python,test,axcore,axbin,axtest', disable_checks: 'OFF' }
68-
- { cxx: clang++, image: '2020', hou: '18_5', j: '2', build: 'Release', components: 'core,hou,bin,python,test,axcore,axbin,axtest', disable_checks: 'OFF' }
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' }
6969
- { cxx: clang++, image: '2020', hou: '19_0', j: '2', build: 'Debug', components: 'core,hou', disable_checks: 'OFF' }
7070
- { cxx: g++, image: '2020', hou: '19_0', j: '1', build: 'Release', components: 'core,hou', disable_checks: 'OFF' }
7171
fail-fast: false

.github/workflows/weekly.yml

Lines changed: 70 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ on:
1212
workflow_dispatch:
1313
inputs:
1414
type:
15-
description: 'The type of CI to run (all, houdini, sanitize, mac, extra, ax, blosc)'
15+
description: 'The type of CI to run (all, houdini, sanitize, mac, extra, ax, blosc, abi)'
1616
required: true
1717
default: 'all'
1818

@@ -75,7 +75,7 @@ jobs:
7575
cd $HOME/houdini_install/hou && source houdini_setup_bash && cd - &&
7676
./ci/build.sh -v
7777
--build-type=Release
78-
--components="core,hou,bin,python,test,axcore,axbin,axtest"
78+
--components="core,hou,bin,view,render,python,test,axcore,axbin,axtest"
7979
--cargs=\"-DDISABLE_CMAKE_SEARCH_PATHS=ON -DOPENVDB_BUILD_HOUDINI_ABITESTS=ON -DOPENVDB_HOUDINI_INSTALL_PREFIX=/tmp\"
8080
- name: test
8181
run: cd build && ctest -V
@@ -122,7 +122,7 @@ jobs:
122122
cd $HOME/houdini_install/hou && source houdini_setup_bash && cd - &&
123123
./ci/build.sh -v
124124
--build-type=Release
125-
--components="core,hou,bin,python,test,axcore,axbin,axtest"
125+
--components="core,hou,bin,view,render,python,test,axcore,axbin,axtest"
126126
--cargs=\"-DDISABLE_CMAKE_SEARCH_PATHS=ON -DOPENVDB_BUILD_HOUDINI_ABITESTS=ON -DOPENVDB_HOUDINI_INSTALL_PREFIX=/tmp\"
127127
- name: test
128128
run: cd build && ctest -V
@@ -210,7 +210,7 @@ jobs:
210210
run: >
211211
./ci/build.sh -v
212212
--build-type=Release
213-
--components=\"core,python,bin,test\"
213+
--components=\"core,python,bin,view,render,test\"
214214
--cargs=\"-DOPENVDB_CXX_STRICT=ON -DOPENVDB_ABI_VERSION_NUMBER=9 ${{ matrix.config.cmake }}\"
215215
- name: test
216216
run: cd build && ctest -V
@@ -245,7 +245,7 @@ jobs:
245245
./ci/build.sh -v
246246
--build-type=Release
247247
-j ${{ matrix.config.j }}
248-
--components=\"core,python,test,bin,axcore,axbin,axtest\"
248+
--components=\"core,python,test,bin,view,render,axcore,axbin,axtest\"
249249
--cargs=\"
250250
-DUSE_BLOSC=OFF
251251
-DCMAKE_CXX_STANDARD=17
@@ -277,7 +277,7 @@ jobs:
277277
run: >
278278
./ci/build.sh -v
279279
--build-type=Release
280-
--components=\"core,bin,test\"
280+
--components=\"core,bin,view,render,test\"
281281
--cargs=\"-DOPENVDB_CXX_STRICT=OFF -DUSE_BLOSC=OFF -DUSE_ZLIB=OFF\"
282282
- name: test
283283
shell: bash
@@ -310,7 +310,7 @@ jobs:
310310
run: >
311311
./ci/build.sh -v
312312
--build-type=Release
313-
--components=\"core,python,bin,test\"
313+
--components=\"core,python,bin,view,render,test\"
314314
--cargs=\"-DOPENVDB_CXX_STRICT=OFF -DOPENVDB_ABI_VERSION_NUMBER=9 -DOPENVDB_SIMD=SSE42\"
315315
- name: test
316316
shell: bash
@@ -336,8 +336,8 @@ jobs:
336336
matrix:
337337
config:
338338
# Unified
339-
- { image: '2020-clang7', cxx: 'clang++', build: 'Release', j: '2', components: 'core,axcore,axbin,axtest' }
340-
- { image: '2020-clang7', cxx: 'g++', build: 'Release', j: '1', components: 'core,axcore,axbin,axtest' }
339+
- { image: '2020-clang7', cxx: 'clang++', build: 'Release', j: '2', components: 'core,bin,axcore,axbin,axtest' }
340+
- { image: '2020-clang7', cxx: 'g++', build: 'Release', j: '1', components: 'core,bin,axcore,axbin,axtest' }
341341
# Standalone
342342
- { image: '2021-clang10', cxx: 'clang++', build: 'Release', j: '2', components: 'core' }
343343
- { image: '2022-clang11', cxx: 'clang++', build: 'Debug', j: '2', components: 'core' }
@@ -366,7 +366,7 @@ jobs:
366366
./ci/build.sh -v
367367
-j ${{ matrix.config.j }}
368368
--build-type=${{ matrix.config.build }}
369-
--components="axcore,axbin,axtest"
369+
--components="bin,axcore,axbin,axtest"
370370
--cargs=\"
371371
-DOPENVDB_AX_TEST_CMD_DOWNLOADS=ON
372372
-DUSE_EXPLICIT_INSTANTIATION=OFF
@@ -401,7 +401,7 @@ jobs:
401401
run: >
402402
./ci/build.sh -v
403403
--build-type=${{ matrix.config.build }}
404-
--components="core,axcore,axbin,axtest"
404+
--components="core,bin,axcore,axbin,axtest"
405405
--cargs=\"
406406
-DOPENVDB_AX_TEST_CMD_DOWNLOADS=ON
407407
-DUSE_EXPLICIT_INSTANTIATION=OFF
@@ -452,7 +452,7 @@ jobs:
452452
run: >
453453
./ci/build.sh -v
454454
--config=${{ matrix.config.build }}
455-
--components=\"core,axcore,axbin,axtest\"
455+
--components=\"core,bin,axcore,axbin,axtest\"
456456
--cargs=\'
457457
-A x64 -G \"Visual Studio 16 2019\"
458458
-DVCPKG_TARGET_TRIPLET=${VCPKG_DEFAULT_TRIPLET}
@@ -479,12 +479,12 @@ jobs:
479479
name: linux-blosc:${{ matrix.blosc }}
480480
strategy:
481481
matrix:
482-
blosc: ['1.17.0','1.18.0'] # Need to fix unit tests for '1.19.0','1.20.0','1.21.0'
482+
blosc: ['1.17.0','1.18.0','1.19.0','1.20.0','1.21.0']
483483
fail-fast: false
484484
steps:
485485
- uses: actions/checkout@v2
486486
- name: install_boost
487-
run: sudo apt-get -q install -y libboost-dev libboost-system-dev libboost-iostreams-dev libboost-python-dev
487+
run: sudo apt-get -q install -y libboost-dev libboost-system-dev libboost-iostreams-dev
488488
- name: install_tbb
489489
run: sudo apt-get -q install -y libtbb-dev
490490
- name: install_gtest
@@ -500,3 +500,59 @@ jobs:
500500
- name: test
501501
run: cd build && sudo ctest -V
502502

503+
#############################################################################
504+
################################## ABI ######################################
505+
#############################################################################
506+
507+
linux-abi-checker:
508+
if: |
509+
github.event_name != 'workflow_dispatch' ||
510+
github.event.inputs.type == 'all' ||
511+
github.event.inputs.type == 'abi'
512+
# abi-dumper version verified to work with 20.04/GCC9
513+
runs-on: ubuntu-20.04
514+
steps:
515+
- uses: actions/checkout@v3
516+
with:
517+
fetch-depth: 0
518+
- name: install_deps
519+
run: sudo apt-get -q install -y libboost-dev libboost-system-dev libboost-iostreams-dev libtbb-dev libblosc-dev elfutils
520+
# abi-compliance-checker and abi-dumper
521+
#
522+
# @note that abi-dumper is available through apt but at the time of writing this
523+
# the version there (1.1) doesn't work correctly and maniftest by creating an
524+
# invalid ABI report with missing headers. This then always reports 100% success
525+
# rate when used with abi-compliance-checker.
526+
# To fix, install both from source and checkout specific commits for both
527+
# which have been verified to work on ubuntu 20.04.
528+
#
529+
# @warning If you update these, test that they fail when expected!
530+
#
531+
# Also note that these are far superior to abigail/abidiff tools from redhat
532+
- name: install_abi_checker
533+
run: |
534+
git clone https://github.com/lvc/abi-dumper.git abi-dumper
535+
cd abi-dumper && git checkout 16bb467cd7d343dd3a16782b151b56cf15509594 && cd -
536+
git clone https://github.com/lvc/abi-compliance-checker abi-compliance-checker
537+
cd abi-compliance-checker && git checkout 7c175c45a8ba9ac41b8e47d8ebbab557b623b18e && cd -
538+
- name: build_latest
539+
run: |
540+
CXXFLAGS=-Og ./ci/build.sh --build-dir=build_latest -v --build-type=Debug --target=openvdb_shared --components=\"core\" --cargs=\'-DUSE_EXPLICIT_INSTANTIATION=OFF\'
541+
- name: build_9
542+
run: |
543+
git checkout v9.0.0
544+
CXXFLAGS=-Og ./ci/build.sh -v --build-type=Debug --target=openvdb_shared --components=\"core\" --cargs=\'-DUSE_EXPLICIT_INSTANTIATION=OFF\'
545+
- name: abi_check
546+
# -strict treats warnings as errors
547+
run: |
548+
abi-dumper/abi-dumper.pl build_latest/openvdb/openvdb/libopenvdb.so -o ABI-1.dump -lver 1
549+
abi-dumper/abi-dumper.pl build/openvdb/openvdb/libopenvdb.so -o ABI-2.dump -lver 2
550+
abi-compliance-checker/abi-compliance-checker.pl -l OPENVDB -old ABI-2.dump -new ABI-1.dump -strict
551+
- name: upload_report
552+
uses: actions/upload-artifact@v3
553+
if: always()
554+
with:
555+
name: abi_report
556+
path: ./compat_reports/OPENVDB/2_to_1/compat_report.html
557+
retention-days: 5
558+

0 commit comments

Comments
 (0)