Skip to content

Commit

Permalink
Merge branch 'master' into feature/memusage
Browse files Browse the repository at this point in the history
  • Loading branch information
Idclip committed Apr 28, 2022
2 parents 9af9fe3 + 712e52b commit c0d83f5
Show file tree
Hide file tree
Showing 60 changed files with 2,674 additions and 2,298 deletions.
14 changes: 7 additions & 7 deletions .github/workflows/ax.yml
Original file line number Diff line number Diff line change
Expand Up @@ -56,11 +56,11 @@ jobs:
matrix:
config:
# Unified
- { image: '2021-clang10', cxx: 'clang++', build: 'Release', j: '2', components: 'core,axcore,axbin,axtest' }
- { image: '2021-clang10', cxx: 'g++', build: 'Release', j: '1', components: 'core,axcore,axbin,axtest' }
- { image: '2022-clang11', cxx: 'clang++', build: 'Debug', j: '2', components: 'core,axcore,axbin,axtest' }
- { image: '2022-clang11', cxx: 'clang++', build: 'Release', j: '2', components: 'core,axcore,axbin,axtest' }
- { image: '2022-clang11', cxx: 'g++', build: 'Release', j: '1', components: 'core,axcore,axbin,axtest' }
- { image: '2021-clang10', cxx: 'clang++', build: 'Release', j: '2', components: 'core,bin,axcore,axbin,axtest' }
- { image: '2021-clang10', cxx: 'g++', build: 'Release', j: '1', components: 'core,bin,axcore,axbin,axtest' }
- { image: '2022-clang11', cxx: 'clang++', build: 'Debug', j: '2', components: 'core,bin,axcore,axbin,axtest' }
- { image: '2022-clang11', cxx: 'clang++', build: 'Release', j: '2', components: 'core,bin,axcore,axbin,axtest' }
- { image: '2022-clang11', cxx: 'g++', build: 'Release', j: '1', components: 'core,bin,axcore,axbin,axtest' }
fail-fast: false
steps:
- uses: actions/checkout@v2
Expand Down Expand Up @@ -97,7 +97,7 @@ jobs:
./ci/build.sh -v
-j ${{ matrix.config.j }}
--build-type=${{ matrix.config.build }}
--components="axcore,axbin,axtest"
--components="bin,axcore,axbin,axtest"
--cargs=\"
-DOPENVDB_AX_TEST_CMD_DOWNLOADS=ON
-DUSE_EXPLICIT_INSTANTIATION=OFF
Expand Down Expand Up @@ -140,7 +140,7 @@ jobs:
run: >
./ci/build.sh -v
--build-type=${{ matrix.config.build }}
--components="core,axcore,axbin,axtest"
--components="core,bin,axcore,axbin,axtest"
--cargs=\"
-DOPENVDB_AX_TEST_CMD_DOWNLOADS=ON
-DUSE_EXPLICIT_INSTANTIATION=OFF
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,7 @@ jobs:
run: >
./ci/build.sh -v
--build-type=${{ matrix.config.build }}
--components=\"core,python,bin,test\"
--components=\"core,python,bin,view,render,test\"
--cargs=\"-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.
Expand Down Expand Up @@ -146,7 +146,7 @@ jobs:
run: >
./ci/build.sh -v
--config=${{ matrix.config.build }}
--components=\"core,bin,test\"
--components=\"core,bin,view,render,test\"
--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\"\'
- name: test
shell: bash
Expand Down Expand Up @@ -182,7 +182,7 @@ jobs:
run: >
./ci/build.sh -v
--build-type=Release
--components=\"core,python,bin,test\"
--components=\"core,python,bin,view,render,test\"
--cargs=\"-DOPENVDB_CXX_STRICT=OFF -DOPENVDB_ABI_VERSION_NUMBER=9 -DOPENVDB_SIMD=SSE42\"
- name: test
shell: bash
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/houdini.yml
Original file line number Diff line number Diff line change
Expand Up @@ -64,8 +64,8 @@ jobs:
strategy:
matrix:
config:
- { cxx: clang++, image: '2020', hou: '19_0', j: '2', build: 'Release', components: 'core,hou,bin,python,test,axcore,axbin,axtest', disable_checks: 'OFF' }
- { cxx: clang++, image: '2020', hou: '18_5', j: '2', build: 'Release', components: 'core,hou,bin,python,test,axcore,axbin,axtest', disable_checks: 'OFF' }
- { 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' }
- { 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' }
- { cxx: clang++, image: '2020', hou: '19_0', j: '2', build: 'Debug', components: 'core,hou', disable_checks: 'OFF' }
- { cxx: g++, image: '2020', hou: '19_0', j: '1', build: 'Release', components: 'core,hou', disable_checks: 'OFF' }
fail-fast: false
Expand Down
84 changes: 70 additions & 14 deletions .github/workflows/weekly.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ on:
workflow_dispatch:
inputs:
type:
description: 'The type of CI to run (all, houdini, sanitize, mac, extra, ax, blosc)'
description: 'The type of CI to run (all, houdini, sanitize, mac, extra, ax, blosc, abi)'
required: true
default: 'all'

Expand Down Expand Up @@ -75,7 +75,7 @@ jobs:
cd $HOME/houdini_install/hou && source houdini_setup_bash && cd - &&
./ci/build.sh -v
--build-type=Release
--components="core,hou,bin,python,test,axcore,axbin,axtest"
--components="core,hou,bin,view,render,python,test,axcore,axbin,axtest"
--cargs=\"-DDISABLE_CMAKE_SEARCH_PATHS=ON -DOPENVDB_BUILD_HOUDINI_ABITESTS=ON -DOPENVDB_HOUDINI_INSTALL_PREFIX=/tmp\"
- name: test
run: cd build && ctest -V
Expand Down Expand Up @@ -122,7 +122,7 @@ jobs:
cd $HOME/houdini_install/hou && source houdini_setup_bash && cd - &&
./ci/build.sh -v
--build-type=Release
--components="core,hou,bin,python,test,axcore,axbin,axtest"
--components="core,hou,bin,view,render,python,test,axcore,axbin,axtest"
--cargs=\"-DDISABLE_CMAKE_SEARCH_PATHS=ON -DOPENVDB_BUILD_HOUDINI_ABITESTS=ON -DOPENVDB_HOUDINI_INSTALL_PREFIX=/tmp\"
- name: test
run: cd build && ctest -V
Expand Down Expand Up @@ -210,7 +210,7 @@ jobs:
run: >
./ci/build.sh -v
--build-type=Release
--components=\"core,python,bin,test\"
--components=\"core,python,bin,view,render,test\"
--cargs=\"-DOPENVDB_CXX_STRICT=ON -DOPENVDB_ABI_VERSION_NUMBER=9 ${{ matrix.config.cmake }}\"
- name: test
run: cd build && ctest -V
Expand Down Expand Up @@ -245,7 +245,7 @@ jobs:
./ci/build.sh -v
--build-type=Release
-j ${{ matrix.config.j }}
--components=\"core,python,test,bin,axcore,axbin,axtest\"
--components=\"core,python,test,bin,view,render,axcore,axbin,axtest\"
--cargs=\"
-DUSE_BLOSC=OFF
-DCMAKE_CXX_STANDARD=17
Expand Down Expand Up @@ -277,7 +277,7 @@ jobs:
run: >
./ci/build.sh -v
--build-type=Release
--components=\"core,bin,test\"
--components=\"core,bin,view,render,test\"
--cargs=\"-DOPENVDB_CXX_STRICT=OFF -DUSE_BLOSC=OFF -DUSE_ZLIB=OFF\"
- name: test
shell: bash
Expand Down Expand Up @@ -310,7 +310,7 @@ jobs:
run: >
./ci/build.sh -v
--build-type=Release
--components=\"core,python,bin,test\"
--components=\"core,python,bin,view,render,test\"
--cargs=\"-DOPENVDB_CXX_STRICT=OFF -DOPENVDB_ABI_VERSION_NUMBER=9 -DOPENVDB_SIMD=SSE42\"
- name: test
shell: bash
Expand All @@ -336,8 +336,8 @@ jobs:
matrix:
config:
# Unified
- { image: '2020-clang7', cxx: 'clang++', build: 'Release', j: '2', components: 'core,axcore,axbin,axtest' }
- { image: '2020-clang7', cxx: 'g++', build: 'Release', j: '1', components: 'core,axcore,axbin,axtest' }
- { image: '2020-clang7', cxx: 'clang++', build: 'Release', j: '2', components: 'core,bin,axcore,axbin,axtest' }
- { image: '2020-clang7', cxx: 'g++', build: 'Release', j: '1', components: 'core,bin,axcore,axbin,axtest' }
# Standalone
- { image: '2021-clang10', cxx: 'clang++', build: 'Release', j: '2', components: 'core' }
- { image: '2022-clang11', cxx: 'clang++', build: 'Debug', j: '2', components: 'core' }
Expand Down Expand Up @@ -366,7 +366,7 @@ jobs:
./ci/build.sh -v
-j ${{ matrix.config.j }}
--build-type=${{ matrix.config.build }}
--components="axcore,axbin,axtest"
--components="bin,axcore,axbin,axtest"
--cargs=\"
-DOPENVDB_AX_TEST_CMD_DOWNLOADS=ON
-DUSE_EXPLICIT_INSTANTIATION=OFF
Expand Down Expand Up @@ -401,7 +401,7 @@ jobs:
run: >
./ci/build.sh -v
--build-type=${{ matrix.config.build }}
--components="core,axcore,axbin,axtest"
--components="core,bin,axcore,axbin,axtest"
--cargs=\"
-DOPENVDB_AX_TEST_CMD_DOWNLOADS=ON
-DUSE_EXPLICIT_INSTANTIATION=OFF
Expand Down Expand Up @@ -452,7 +452,7 @@ jobs:
run: >
./ci/build.sh -v
--config=${{ matrix.config.build }}
--components=\"core,axcore,axbin,axtest\"
--components=\"core,bin,axcore,axbin,axtest\"
--cargs=\'
-A x64 -G \"Visual Studio 16 2019\"
-DVCPKG_TARGET_TRIPLET=${VCPKG_DEFAULT_TRIPLET}
Expand All @@ -479,12 +479,12 @@ jobs:
name: linux-blosc:${{ matrix.blosc }}
strategy:
matrix:
blosc: ['1.17.0','1.18.0'] # Need to fix unit tests for '1.19.0','1.20.0','1.21.0'
blosc: ['1.17.0','1.18.0','1.19.0','1.20.0','1.21.0']
fail-fast: false
steps:
- uses: actions/checkout@v2
- name: install_boost
run: sudo apt-get -q install -y libboost-dev libboost-system-dev libboost-iostreams-dev libboost-python-dev
run: sudo apt-get -q install -y libboost-dev libboost-system-dev libboost-iostreams-dev
- name: install_tbb
run: sudo apt-get -q install -y libtbb-dev
- name: install_gtest
Expand All @@ -500,3 +500,59 @@ jobs:
- name: test
run: cd build && sudo ctest -V

#############################################################################
################################## ABI ######################################
#############################################################################

linux-abi-checker:
if: |
github.event_name != 'workflow_dispatch' ||
github.event.inputs.type == 'all' ||
github.event.inputs.type == 'abi'
# abi-dumper version verified to work with 20.04/GCC9
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0
- name: install_deps
run: sudo apt-get -q install -y libboost-dev libboost-system-dev libboost-iostreams-dev libtbb-dev libblosc-dev elfutils
# abi-compliance-checker and abi-dumper
#
# @note that abi-dumper is available through apt but at the time of writing this
# the version there (1.1) doesn't work correctly and maniftest by creating an
# invalid ABI report with missing headers. This then always reports 100% success
# rate when used with abi-compliance-checker.
# To fix, install both from source and checkout specific commits for both
# which have been verified to work on ubuntu 20.04.
#
# @warning If you update these, test that they fail when expected!
#
# Also note that these are far superior to abigail/abidiff tools from redhat
- name: install_abi_checker
run: |
git clone https://github.com/lvc/abi-dumper.git abi-dumper
cd abi-dumper && git checkout 16bb467cd7d343dd3a16782b151b56cf15509594 && cd -
git clone https://github.com/lvc/abi-compliance-checker abi-compliance-checker
cd abi-compliance-checker && git checkout 7c175c45a8ba9ac41b8e47d8ebbab557b623b18e && cd -
- name: build_latest
run: |
CXXFLAGS=-Og ./ci/build.sh --build-dir=build_latest -v --build-type=Debug --target=openvdb_shared --components=\"core\" --cargs=\'-DUSE_EXPLICIT_INSTANTIATION=OFF\'
- name: build_9
run: |
git checkout v9.0.0
CXXFLAGS=-Og ./ci/build.sh -v --build-type=Debug --target=openvdb_shared --components=\"core\" --cargs=\'-DUSE_EXPLICIT_INSTANTIATION=OFF\'
- name: abi_check
# -strict treats warnings as errors
run: |
abi-dumper/abi-dumper.pl build_latest/openvdb/openvdb/libopenvdb.so -o ABI-1.dump -lver 1
abi-dumper/abi-dumper.pl build/openvdb/openvdb/libopenvdb.so -o ABI-2.dump -lver 2
abi-compliance-checker/abi-compliance-checker.pl -l OPENVDB -old ABI-2.dump -new ABI-1.dump -strict
- name: upload_report
uses: actions/upload-artifact@v3
if: always()
with:
name: abi_report
path: ./compat_reports/OPENVDB/2_to_1/compat_report.html
retention-days: 5

Loading

0 comments on commit c0d83f5

Please sign in to comment.