1212 workflow_dispatch :
1313 inputs :
1414 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)'
1616 required : true
1717 default : ' all'
1818
@@ -21,6 +21,10 @@ concurrency:
2121 group : ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
2222 cancel-in-progress : true
2323
24+ defaults :
25+ run :
26+ shell : bash
27+
2428jobs :
2529 # ############################################################################
2630 # ################################# Houdini ##################################
7276 - uses : actions/checkout@v3
7377 - name : timestamp
7478 id : timestamp
75- shell : bash
7679 run : echo "::set-output name=timestamp::`date -u +'%Y-%m-%dT%H:%M:%SZ'`"
7780 - name : download_houdini
7881 run : ./ci/download_houdini.sh ${{ matrix.config.houdini_version }} ON
@@ -119,6 +122,9 @@ jobs:
119122 fail-fast : false
120123 steps :
121124 - uses : actions/checkout@v3
125+ - name : pybind11
126+ # if: contains(container.image, '2023') == false
127+ run : ./ci/install_pybind11.sh 2.10.0
122128 - name : build
123129 run : >
124130 ./ci/build.sh -v
@@ -128,34 +134,43 @@ jobs:
128134 - name : test
129135 run : cd build && ctest -V
130136
131- # Test latest dependencies, latest compilers and options through homebrew on macos
132- macos- latest :
137+ # Test latest dependencies, latest compilers and options
138+ latest :
133139 if : |
134140 github.event_name != 'workflow_dispatch' ||
135141 github.event.inputs.type == 'all' ||
136- github.event.inputs.type == 'mac'
137- runs-on : macos-12
142+ github.event.inputs.type == 'latest'
143+ runs-on : ${{ matrix.config.runson }}
144+ env :
145+ CXX : ${{ matrix.config.cxx }}
138146 strategy :
139147 matrix :
140148 config :
141- - { brew_compiler: gcc@13, cmake: '-D CMAKE_CXX_COMPILER=/usr/local/opt/gcc@13/bin/g++-13' }
142- - { 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++' }
143153 fail-fast : false
144154 steps :
145- - uses : actions/checkout@v3
146- - name : install
147- shell : bash
148- run : ./ci/install_macos.sh latest ${{ matrix.config.brew_compiler }}
149- - name : build
150- shell : bash
151- run : >
152- ./ci/build.sh -v
153- --build-type=Release
154- --components=\"core,python,bin,view,render,test\"
155- --cargs=\"-DOPENVDB_CXX_STRICT=OFF -DCMAKE_CXX_STANDARD=20 ${{ matrix.config.cmake }}\"
156- - name : test
157- shell : bash
158- 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
159174
160175 # ############################################################################
161176 # ########################### AX Library Extras ##############################
@@ -189,6 +204,9 @@ jobs:
189204 fail-fast : false
190205 steps :
191206 - uses : actions/checkout@v3
207+ - name : pybind11
208+ # f: contains(matrix.config.image, '2023') == false
209+ run : ./ci/install_pybind11.sh 2.10.0
192210 - name : build
193211 run : >
194212 ./ci/build.sh -v
@@ -237,7 +255,7 @@ jobs:
237255 # - { cxx: 'clang++', build: 'Release', llvm: '16' } - not supported yet
238256 fail-fast : false
239257 steps :
240- - uses : actions/checkout@v2
258+ - uses : actions/checkout@v3
241259 - name : install_deps
242260 run : ./ci/install_macos_ax.sh ${{ matrix.config.llvm }}
243261 - name : build
@@ -282,16 +300,13 @@ jobs:
282300 steps :
283301 - uses : actions/checkout@v3
284302 - name : llvm
285- shell : bash
286303 run : ./ci/install_llvm_windows.sh ${{ matrix.config.crt }}
287304 - name : install
288- shell : bash
289305 run : |
290306 vcpkg update
291307 vcpkg install zlib tbb cppunit blosc python3 \
292308 boost-iostreams boost-system boost-any boost-uuid boost-interprocess boost-algorithm pybind11
293309 - name : build
294- shell : bash
295310 run : >
296311 ./ci/build.sh -v
297312 --config=${{ matrix.config.build }}
@@ -308,12 +323,12 @@ jobs:
308323 ${{ matrix.config.cmake }}
309324 \'
310325 - name : runtime_path
326+ shell : pwsh
311327 run : |
312328 # note: system path must be modified in a previous step to it's use
313329 echo "$Env:VCPKG_INSTALLATION_ROOT\installed\${{ matrix.config.vc }}\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
314330 echo "$Env:VDB_INSTALL_PREFIX\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
315331 - name : test
316- shell : bash
317332 run : cd build && ctest -V -C ${{ matrix.config.build }}
318333
319334 # ############################################################################
@@ -336,7 +351,6 @@ jobs:
336351 steps :
337352 - uses : actions/checkout@v3
338353 - name : install_blosc
339- shell : bash
340354 run : sudo ./ci/install_blosc.sh ${{ matrix.blosc }}
341355 - name : build
342356 run : >
@@ -365,7 +379,7 @@ jobs:
365379 with :
366380 fetch-depth : 0
367381 - name : install_deps
368- 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
369383 # abi-compliance-checker and abi-dumper
370384 #
371385 # @note that abi-dumper is available through apt but at the time of writing this
0 commit comments