Skip to content

Commit c332f81

Browse files
authored
Merge pull request #1570 from Idclip/ci_updates
CI Updates
2 parents 0e52f85 + a8b9eb5 commit c332f81

File tree

20 files changed

+108
-130
lines changed

20 files changed

+108
-130
lines changed

.github/workflows/ax.yml

Lines changed: 8 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -59,13 +59,13 @@ jobs:
5959
CCACHE_DIR: /tmp/ccache
6060
strategy:
6161
matrix:
62+
# Only test unified builds (core+ax). weekly CI should test standalone
6263
config:
63-
# Unified
64-
- { image: '2021-clang10', cxx: 'clang++', build: 'Release', components: 'core,python,bin,axcore,axbin,axtest' }
65-
- { image: '2021-clang10', cxx: 'g++', build: 'Release', components: 'core,python,bin,axcore,axbin,axtest' }
66-
- { image: '2022-clang11', cxx: 'clang++', build: 'Debug', components: 'core,python,bin,axcore,axbin,axtest' }
67-
- { image: '2022-clang11', cxx: 'clang++', build: 'Release', components: 'core,python,bin,axcore,axbin,axtest' }
68-
- { image: '2022-clang11', cxx: 'g++', build: 'Release', components: 'core,python,bin,axcore,axbin,axtest' }
64+
- { image: '2022-clang11', cxx: 'clang++', build: 'Debug', cmake: '' }
65+
- { image: '2022-clang11', cxx: 'clang++', build: 'Release', cmake: '' }
66+
- { image: '2022-clang11', cxx: 'g++', build: 'Release', cmake: '' }
67+
- { image: '2021-clang10', cxx: 'clang++', build: 'Release', cmake: '-DDISABLE_DEPENDENCY_VERSION_CHECKS=ON' }
68+
- { image: '2021-clang10', cxx: 'g++', build: 'Release', cmake: '-DDISABLE_DEPENDENCY_VERSION_CHECKS=ON' }
6969
fail-fast: false
7070
steps:
7171
- uses: actions/checkout@v3
@@ -86,22 +86,9 @@ jobs:
8686
run: >
8787
./ci/build.sh -v
8888
--build-type=${{ matrix.config.build }}
89-
--components=${{ matrix.config.components }}
90-
--cargs=\"
91-
-DOPENVDB_AX_TEST_CMD_DOWNLOADS=ON
92-
-DUSE_EXPLICIT_INSTANTIATION=OFF
93-
-DOPENVDB_CXX_STRICT=ON
94-
\"
95-
- name: clean
96-
if: matrix.config.components == 'core'
97-
run: rm -rf build
98-
- name: build
99-
if: matrix.config.components == 'core'
100-
run: >
101-
./ci/build.sh -v
102-
--build-type=${{ matrix.config.build }}
103-
--components="bin,axcore,axbin,axtest"
89+
--components='core,python,bin,axcore,axbin,axtest'
10490
--cargs=\"
91+
${{ matrix.config.cmake }}
10592
-DOPENVDB_AX_TEST_CMD_DOWNLOADS=ON
10693
-DUSE_EXPLICIT_INSTANTIATION=OFF
10794
-DOPENVDB_CXX_STRICT=ON

.github/workflows/build.yml

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -70,13 +70,13 @@ jobs:
7070
strategy:
7171
matrix:
7272
config:
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' }
73+
- { cxx: clang++, image: '2022-clang11', abi: '10', build: 'Release', cmake: '' }
74+
- { cxx: clang++, image: '2022-clang11', abi: '10', build: 'Debug' , cmake: '' }
75+
- { cxx: g++, image: '2022-clang11', abi: '10', build: 'Release', cmake: '' }
76+
- { cxx: clang++, image: '2022-clang11', abi: '9', build: 'Release', cmake: '' }
77+
- { cxx: g++, image: '2022-clang11', abi: '9', build: 'Release', cmake: '' }
78+
- { cxx: clang++, image: '2021', abi: '8', build: 'Release', cmake: '-DDISABLE_DEPENDENCY_VERSION_CHECKS=ON' }
79+
- { cxx: g++, image: '2021', abi: '8', build: 'Release', cmake: '-DDISABLE_DEPENDENCY_VERSION_CHECKS=ON' }
8080
fail-fast: false
8181
steps:
8282
- uses: actions/checkout@v3
@@ -98,7 +98,11 @@ jobs:
9898
./ci/build.sh -v
9999
--build-type=${{ matrix.config.build }}
100100
--components=\"core,python,bin,view,render,test\"
101-
--cargs=\"-DOPENVDB_CXX_STRICT=ON -DOPENVDB_ABI_VERSION_NUMBER=${{ matrix.config.abi }}\"
101+
--cargs=\"
102+
${{ matrix.config.cmake }}
103+
-DOPENVDB_CXX_STRICT=ON
104+
-DOPENVDB_ABI_VERSION_NUMBER=${{ matrix.config.abi }}
105+
\"
102106
- name: test
103107
# Always run tests on weekly builds but skip Debug on commits as they take a while.
104108
# https://github.community/t/distinct-job-for-each-schedule/17811/2

.github/workflows/docs.yml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -122,6 +122,17 @@ jobs:
122122
cd build
123123
ctest -V
124124
make gcov_html
125+
cd -
126+
- name: zip_large_html
127+
# The index.function list is > 100mb. Just zip it and provide it as a
128+
# download (could instead use LFS to host but not really worth it).
129+
run: |
130+
cd build/gcov_html
131+
tar -czvf index.functions.html.tar.gz index.functions.html
132+
sed -i -e 's/index.functions.html/index.functions.html.tar.gz/g' index.html
133+
sed -i -e 's/List of functions/Download function index/g' index.html
134+
rm index.functions.html
135+
cd -
125136
- name: pre_deploy
126137
# Overwrite global SSH configuration
127138
# https://github.com/peaceiris/actions-gh-pages/issues/719

.github/workflows/nanovdb.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,7 @@ jobs:
8484
-DNANOVDB_USE_CUDA=ON
8585
-DNANOVDB_USE_OPENVDB=ON
8686
-DCMAKE_INSTALL_PREFIX=`pwd`
87+
-DUSE_BLOSC=OFF
8788
\'
8889
- name: test
8990
run: cd build && sudo ctest -V

.github/workflows/weekly.yml

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -101,8 +101,7 @@ jobs:
101101
runs-on: ${{ (github.repository_owner == 'AcademySoftwareFoundation' && 'ubuntu-20.04-8c-32g-300h') || 'ubuntu-latest' }}
102102
name: linux-extra:${{ matrix.config.name }}
103103
container:
104-
# Can bump clang when AX is compatible with LLVM14
105-
image: aswf/ci-openvdb:2022-clang12
104+
image: aswf/ci-openvdb:2022-clang14
106105
env:
107106
CXX: clang++
108107
strategy:
@@ -129,7 +128,7 @@ jobs:
129128
- name: test
130129
run: cd build && ctest -V
131130

132-
# Test EXR 3 and TBB 2021 on MacOS
131+
# Test EXR 3 on MacOS
133132
macos-latest:
134133
if: |
135134
github.event_name != 'workflow_dispatch' ||
@@ -178,15 +177,15 @@ jobs:
178177
matrix:
179178
config:
180179
# Unified
181-
- { image: '2022-clang14', cxx: 'clang++', build: 'Release', components: 'core,bin,axcore,axbin,axtest' }
182-
- { image: '2022-clang14', cxx: 'g++', build: 'Release', components: 'core,bin,axcore,axbin,axtest' }
183-
- { image: '2022-clang13', cxx: 'clang++', build: 'Release', components: 'core,bin,axcore,axbin,axtest' }
184-
- { image: '2022-clang13', cxx: 'g++', build: 'Release', components: 'core,bin,axcore,axbin,axtest' }
180+
- { image: '2022-clang14', cxx: 'clang++', build: 'Release', components: 'core,bin,axcore,axbin,axtest', cmake: '' }
181+
- { image: '2022-clang14', cxx: 'g++', build: 'Release', components: 'core,bin,axcore,axbin,axtest', cmake: '' }
182+
- { image: '2022-clang13', cxx: 'clang++', build: 'Release', components: 'core,bin,axcore,axbin,axtest', cmake: '' }
183+
- { image: '2022-clang13', cxx: 'g++', build: 'Release', components: 'core,bin,axcore,axbin,axtest', cmake: '' }
185184
# Standalone
186-
- { image: '2021-clang10', cxx: 'clang++', build: 'Release', components: 'core' }
187-
- { image: '2022-clang11', cxx: 'clang++', build: 'Debug', components: 'core' }
188-
- { image: '2022-clang11', cxx: 'clang++', build: 'Release', components: 'core' }
189-
- { image: '2022-clang11', cxx: 'g++', build: 'Release', components: 'core' }
185+
- { image: '2021-clang10', cxx: 'clang++', build: 'Release', components: 'core', cmake: '-DDISABLE_DEPENDENCY_VERSION_CHECKS=ON' }
186+
- { image: '2022-clang11', cxx: 'clang++', build: 'Debug', components: 'core', cmake: '' }
187+
- { image: '2022-clang11', cxx: 'clang++', build: 'Release', components: 'core', cmake: '' }
188+
- { image: '2022-clang11', cxx: 'g++', build: 'Release', components: 'core', cmake: '' }
190189
fail-fast: false
191190
steps:
192191
- uses: actions/checkout@v3
@@ -196,6 +195,7 @@ jobs:
196195
--build-type=${{ matrix.config.build }}
197196
--components=${{ matrix.config.components }}
198197
--cargs=\"
198+
${{ matrix.config.cmake }}
199199
-DOPENVDB_AX_TEST_CMD_DOWNLOADS=ON
200200
-DUSE_EXPLICIT_INSTANTIATION=OFF
201201
-DOPENVDB_CXX_STRICT=ON
@@ -210,6 +210,7 @@ jobs:
210210
--build-type=${{ matrix.config.build }}
211211
--components="bin,axcore,axbin,axtest,python"
212212
--cargs=\"
213+
${{ matrix.config.cmake }}
213214
-DOPENVDB_AX_TEST_CMD_DOWNLOADS=ON
214215
-DUSE_EXPLICIT_INSTANTIATION=OFF
215216
-DOPENVDB_CXX_STRICT=ON
@@ -288,7 +289,7 @@ jobs:
288289
run: |
289290
vcpkg update
290291
vcpkg install zlib tbb cppunit blosc python3 \
291-
boost-iostreams boost-system boost-any boost-uuid boost-interprocess boost-algorithm boost-python
292+
boost-iostreams boost-system boost-any boost-uuid boost-interprocess boost-algorithm pybind11
292293
- name: build
293294
shell: bash
294295
run: >

README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,8 @@ The following provides basic installation examples for the core OpenVDB library.
3939
##### Installing Dependencies (Boost, TBB, Blosc)
4040

4141
```bash
42+
# @note If your distribution does not have required versions, consider using
43+
# apt pinning. See the dependency documentation for more details.
4244
apt-get install -y libboost-iostreams-dev
4345
apt-get install -y libtbb-dev
4446
apt-get install -y libblosc-dev

ci/build.sh

Lines changed: 7 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,12 @@ if [[ $RUNNER_NAME == *"8c-32g-300h"* ]]; then
3636
else
3737
# Github actions runners have 2 threads
3838
# https://help.github.com/en/actions/reference/virtual-environments-for-github-hosted-runners
39-
PARMS[-j]=2
39+
if [[ $CXX == "g++" ]]; then
40+
# GCC hits memory limits on runners, build in serial
41+
PARMS[-j]=1
42+
else
43+
PARMS[-j]=2
44+
fi
4045
fi
4146

4247
# Available options for --components
@@ -140,29 +145,9 @@ done
140145

141146
################################################
142147

143-
###### TEMPORARY CHANGE: check if we need to install blosc 1.17.0 as it's not available on the linux docker images yet
144-
if [ $(uname) == "Linux" ]; then
145-
function get_ver_as_int { echo "$@" | awk -F. '{ printf("%d%03d%03d%03d\n", $1,$2,$3,$4); }'; }
146-
BLOSC_VERSION="0.0.0"
147-
if [ -f "/usr/local/include/blosc.h" ]; then
148-
BLOSC_VERSION=$(cat /usr/local/include/blosc.h | grep BLOSC_VERSION_STRING | cut -d'"' -f 2)
149-
fi
150-
151-
if [ $(get_ver_as_int $BLOSC_VERSION) -lt $(get_ver_as_int "1.17.0") ]; then
152-
# Install
153-
$CI_DIR/install_blosc.sh 1.17.0
154-
elif [ $(get_ver_as_int $BLOSC_VERSION) -eq $(get_ver_as_int "1.17.0") ]; then
155-
# Remind us to remove this code
156-
echo "WARNING: Blosc has been updated to 1.17.0 - this logic in build.sh should be removed!!"
157-
fi
158-
fi
159-
###### TEMPORARY CHANGE: always install blosc 1.17.0 as it's not available on the docker images yet
160-
161-
################################################
162-
163148
###### TEMPORARY CHANGE: Install pybind11 2.10.0 as it's not available on the linux docker images yet
164149
if [ $(uname) == "Linux" ]; then
165-
if [ ! -f "/usr/local/include/pybind11.h" ]; then
150+
if [ ! -f "/usr/local/include/pybind11/pybind11.h" ]; then
166151
$CI_DIR/install_pybind11.sh 2.10.0
167152
fi
168153
fi

ci/install_macos.sh

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ brew install glfw
1212
brew install googletest
1313
brew install c-blosc
1414
brew install jq # for trivial parsing of brew json
15+
brew install tbb
1516

1617
# Alias python version installed by pybind11 to path
1718
py_version=$(brew info pybind11 --json | \
@@ -26,19 +27,13 @@ echo "/usr/local/opt/gnu-getopt/bin" >> $GITHUB_PATH
2627

2728
LATEST=$1
2829
if [ "$LATEST" == "latest" ]; then
29-
brew install tbb
3030
brew install openexr
3131
else
3232
brew install ilmbase
33-
brew install tbb@2020
3433
brew install openexr@2
3534

3635
# Export OpenEXR paths which are no longer installed to /usr/local (as v2.x is deprecated)
3736
echo "IlmBase_ROOT=/usr/local/opt/ilmbase" >> $GITHUB_ENV
3837
echo "OpenEXR_ROOT=/usr/local/opt/openexr@2" >> $GITHUB_ENV
3938
echo "/usr/local/opt/openexr@2/bin" >> $GITHUB_PATH
40-
41-
# Export TBB paths which are no longer installed to /usr/local (as v2020 is deprecated)
42-
echo "TBB_ROOT=/usr/local/opt/tbb@2020" >> $GITHUB_ENV
43-
echo "/usr/local/opt/tbb@2020/bin" >> $GITHUB_PATH
4439
fi

ci/install_macos_ax.sh

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ brew install cppunit
1111
brew install c-blosc
1212
brew install zlib
1313
brew install jq # for trivial parsing of brew json
14+
brew install tbb
1415

1516
# Alias python version installed by pybind11 to path
1617
py_version=$(brew info pybind11 --json | \
@@ -25,13 +26,7 @@ echo "/usr/local/opt/gnu-getopt/bin" >> $GITHUB_PATH
2526

2627
LLVM_VERSION=$1
2728
if [ "$LLVM_VERSION" == "latest" ]; then
28-
brew install tbb
2929
brew install llvm
3030
else
31-
brew install tbb@2020
3231
brew install llvm@$LLVM_VERSION
33-
34-
# Export TBB paths which are no longer installed to /usr/local (as v2020 is deprecated)
35-
echo "TBB_ROOT=/usr/local/opt/tbb@2020" >> $GITHUB_ENV
36-
echo "/usr/local/opt/tbb@2020/bin" >> $GITHUB_PATH
3732
fi

cmake/config/OpenVDBVersions.cmake

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ if(NOT DISABLE_DEPENDENCY_VERSION_CHECKS)
4040
set(MINIMUM_MSVC_VERSION 19.10) # 1910 (Visual Studio 2017 15.0)
4141

4242
set(MINIMUM_BOOST_VERSION 1.73)
43+
set(MINIMUM_PYBIND_VERSION 2.9.1)
4344
set(MINIMUM_ILMBASE_VERSION 2.4)
4445
set(MINIMUM_OPENEXR_VERSION 2.4)
4546
set(MINIMUM_ZLIB_VERSION 1.2.7)

0 commit comments

Comments
 (0)