12
12
workflow_dispatch :
13
13
inputs :
14
14
type :
15
- description : ' The type of CI to run (all, houdini, mac , extra, ax, blosc, abi)'
15
+ description : ' The type of CI to run (all, houdini, latest , extra, ax, blosc, abi)'
16
16
required : true
17
17
default : ' all'
18
18
@@ -21,6 +21,10 @@ concurrency:
21
21
group : ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
22
22
cancel-in-progress : true
23
23
24
+ defaults :
25
+ run :
26
+ shell : bash
27
+
24
28
jobs :
25
29
# ############################################################################
26
30
# ################################# Houdini ##################################
72
76
- uses : actions/checkout@v3
73
77
- name : timestamp
74
78
id : timestamp
75
- shell : bash
76
79
run : echo "::set-output name=timestamp::`date -u +'%Y-%m-%dT%H:%M:%SZ'`"
77
80
- name : download_houdini
78
81
run : ./ci/download_houdini.sh ${{ matrix.config.houdini_version }} ON
@@ -131,36 +134,43 @@ jobs:
131
134
- name : test
132
135
run : cd build && ctest -V
133
136
134
- # Test latest dependencies, latest compilers and options through homebrew on macos
135
- macos- latest :
137
+ # Test latest dependencies, latest compilers and options
138
+ latest :
136
139
if : |
137
140
github.event_name != 'workflow_dispatch' ||
138
141
github.event.inputs.type == 'all' ||
139
- github.event.inputs.type == 'mac'
140
- runs-on : macos-12
142
+ github.event.inputs.type == 'latest'
143
+ runs-on : ${{ matrix.config.runson }}
144
+ env :
145
+ CXX : ${{ matrix.config.cxx }}
141
146
strategy :
142
147
matrix :
143
148
config :
144
- # Don't link against boost on macos with GCC, there are some symbol issues
145
- # with brew using clang to build its dependencies vs us trying to use GCC
146
- - { brew_compiler: gcc@13, cmake: '-D CMAKE_CXX_COMPILER=/usr/local/opt/ gcc@13/bin/g++-13 -DOPENVDB_USE_DELAYED_LOADING=OFF' }
147
- - { brew_compiler: llvm@16, cmake: '-D CMAKE_CXX_COMPILER=/usr/local/opt/llvm@16 /bin/clang++' }
149
+ - { runson: ubuntu-latest, cxx: g++, cmake: '' }
150
+ - { runson: ubuntu-latest, cxx: clang++, cmake: '' }
151
+ # @todo gcc on macos
152
+ - { runson: macos-latest, cxx: '', cmake: '-D CMAKE_CXX_COMPILER=/usr/local/opt/llvm@15 /bin/clang++' }
148
153
fail-fast : false
149
154
steps :
150
- - uses : actions/checkout@v3
151
- - name : install
152
- shell : bash
153
- run : ./ci/install_macos.sh latest ${{ matrix.config.brew_compiler }}
154
- - name : build
155
- shell : bash
156
- run : >
157
- ./ci/build.sh -v
158
- --build-type=Release
159
- --components=\"core,python,bin,view,render,test\"
160
- --cargs=\"-DOPENVDB_CXX_STRICT=OFF -DCMAKE_CXX_STANDARD=20 ${{ matrix.config.cmake }}\"
161
- - name : test
162
- shell : bash
163
- run : cd build && ctest -V
155
+ - uses : actions/checkout@v3
156
+ - name : install_deps
157
+ run : |
158
+ if [ "$RUNNER_OS" == "Linux" ]; then
159
+ sudo apt-get -q install -y libboost-dev libboost-iostreams-dev libtbb-dev libblosc-dev llvm-dev libgtest-dev libcppunit-dev pybind11-dev
160
+ elif [ "$RUNNER_OS" == "macOS" ]; then
161
+ ./ci/install_macos_ax.sh 15
162
+ brew install googletest
163
+ else
164
+ echo "$RUNNER_OS not supported"; exit 1
165
+ fi
166
+ - name : build
167
+ run : >
168
+ ./ci/build.sh -v
169
+ --build-type=Release
170
+ --components=\"core,axcore,python,bin,render,test,axtest,axbin\"
171
+ --cargs=\"-DCMAKE_CXX_STANDARD=20 -DCMAKE_INSTALL_PREFIX=${{ github.workspace }}/install ${{ matrix.config.cmake }}\"
172
+ - name : test
173
+ run : cd build && ctest -V
164
174
165
175
# ############################################################################
166
176
# ########################### AX Library Extras ##############################
@@ -290,16 +300,13 @@ jobs:
290
300
steps :
291
301
- uses : actions/checkout@v3
292
302
- name : llvm
293
- shell : bash
294
303
run : ./ci/install_llvm_windows.sh ${{ matrix.config.crt }}
295
304
- name : install
296
- shell : bash
297
305
run : |
298
306
vcpkg update
299
307
vcpkg install zlib tbb cppunit blosc python3 \
300
308
boost-iostreams boost-system boost-any boost-uuid boost-interprocess boost-algorithm pybind11
301
309
- name : build
302
- shell : bash
303
310
run : >
304
311
./ci/build.sh -v
305
312
--config=${{ matrix.config.build }}
@@ -322,7 +329,6 @@ jobs:
322
329
echo "$Env:VCPKG_INSTALLATION_ROOT\installed\${{ matrix.config.vc }}\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
323
330
echo "$Env:VDB_INSTALL_PREFIX\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
324
331
- name : test
325
- shell : bash
326
332
run : cd build && ctest -V -C ${{ matrix.config.build }}
327
333
328
334
# ############################################################################
@@ -345,7 +351,6 @@ jobs:
345
351
steps :
346
352
- uses : actions/checkout@v3
347
353
- name : install_blosc
348
- shell : bash
349
354
run : sudo ./ci/install_blosc.sh ${{ matrix.blosc }}
350
355
- name : build
351
356
run : >
@@ -374,7 +379,7 @@ jobs:
374
379
with :
375
380
fetch-depth : 0
376
381
- name : install_deps
377
- run : sudo apt-get -q install -y libboost-dev libboost-system-dev libboost- iostreams-dev libtbb-dev libblosc-dev elfutils
382
+ run : sudo apt-get -q install -y libboost-dev libboost-iostreams-dev libtbb-dev libblosc-dev elfutils
378
383
# abi-compliance-checker and abi-dumper
379
384
#
380
385
# @note that abi-dumper is available through apt but at the time of writing this
0 commit comments