@@ -22,7 +22,7 @@ concurrency:
2222 cancel-in-progress : true
2323
2424env :
25- PV_TAG : v5.12 .0-headless
25+ PV_TAG : v5.13 .0-headless
2626 PV_REPO : topology-tool-kit/ttk-paraview
2727
2828
3939 if : ${{ github.repository_owner == 'topology-tool-kit' || !contains(github.ref, 'heads') }}
4040 strategy :
4141 matrix :
42- os : [ubuntu-20.04, ubuntu-22.04]
42+ os : [ubuntu-20.04, ubuntu-22.04, ubuntu-24.04 ]
4343
4444 steps :
4545 - uses : actions/checkout@v4
@@ -59,11 +59,11 @@ jobs:
5959 libsqlite3-dev \
6060 libwebsocketpp-dev \
6161 graphviz \
62+ python3-sklearn \
6263 ninja-build \
6364 zlib1g-dev \
6465 libqhull-dev \
6566 dpkg-dev
66- sudo python3 -m pip install scikit-learn
6767 cargo install sccache --version 0.4.2 --locked
6868 echo "PATH=/root/.cargo/bin:$PATH" >> $GITHUB_ENV
6969
9292 run : |
9393 sudo apt install ./ttk-paraview-headless.deb
9494
95+ # TODO: more aggressive warnings? (ubuntu-24.04)
9596 - name : Create & configure TTK build directory
9697 run : |
9798 mkdir build
@@ -143,13 +144,12 @@ jobs:
143144 needs : test-build-ubuntu
144145 strategy :
145146 matrix :
146- os : [ubuntu-20.04, ubuntu-22.04]
147+ os : [ubuntu-20.04, ubuntu-22.04, ubuntu-24.04 ]
147148 testSet : [pyTests, screenshotTests]
148149 steps :
149150 - name : Install Ubuntu dependencies
150151 run : |
151152 sudo apt update
152- sudo python3 -m pip install scikit-learn
153153
154154 - name : Install Torch
155155 shell : bash
@@ -201,18 +201,21 @@ jobs:
201201 run : |
202202 VERS=$(hostnamectl | grep "Operating System")
203203 # Ubuntu 22.04 OOM killer also kills the parent process...
204- if [[ "$VERS" == *"22.04"* ]]; then
204+ if [[ "$VERS" == *"22.04"* ]] || [[ "$VERS" == *"24.04"* ]] ; then
205205 rm ttk-data/states/mergeTreeClustering.pvsm
206206 rm ttk-data/states/mergeTreePGA.pvsm
207207 rm ttk-data/states/mergeTreeTemporalReduction.pvsm
208208 rm ttk-data/states/persistentGenerators_darkSky.pvsm
209209 fi
210+ # remove buggy example
211+ # related issue: https://github.com/topology-tool-kit/ttk/issues/1055
212+ rm ttk-data/states/nestedTrackingFromOverlap.py
210213
211214 cd ttk-data/tests
212215 mkdir output_screenshots
213216 if ! python3 -u validate.py; then
214217
215- if [[ "$VERS" == *"22.04"* ]]; then
218+ if [[ "$VERS" == *"22.04"* ]] || [[ "$VERS" == *"24.04"* ]] ; then
216219 # weird opacity difference between the two Ubuntus
217220 rm -f output_screenshots/clusteringKelvinHelmholtzInstabilities_1.png
218221 rm -f output_screenshots/clusteringKelvinHelmholtzInstabilities_2.png
@@ -235,6 +238,9 @@ jobs:
235238 if : matrix.testSet == 'pyTests'
236239 run : |
237240 cd ttk-data
241+ # remove buggy example
242+ # related issue: https://github.com/topology-tool-kit/ttk/issues/1055
243+ rm python/nestedTrackingFromOverlap.py
238244 python3 -u python/run.py
239245
240246 - name : Test ttk-data Python scripts results [NOT ENFORCED]
@@ -257,8 +263,13 @@ jobs:
257263 # Test macOS build #
258264 # -----------------#
259265 test-build-macos :
260- runs-on : macos-12
266+ runs-on : ${{ matrix.os }}
267+ strategy :
268+ matrix :
269+ os : [macos-12, macos-14]
261270 if : ${{ github.repository_owner == 'topology-tool-kit' || !contains(github.ref, 'heads') }}
271+ env :
272+ DYLD_LIBRARY_PATH : /usr/local/lib
262273
263274 steps :
264275 - uses : actions/checkout@v4
@@ -275,7 +286,7 @@ jobs:
275286 brew install --cask xquartz
276287 brew install llvm ninja open-mpi
277288 # TTK dependencies
278- brew install boost eigen graphviz numpy qhull
289+ brew install boost eigen graphviz spectra sqlite zlib numpy qhull
279290
280291 - name : Install and setup sccache
281292 uses : f3d-app/sccache-setup-action@v1
@@ -287,11 +298,18 @@ jobs:
287298
288299 - name : Fetch TTK-ParaView headless macOS binary archive
289300 run : |
290- wget https://github.com/${{ env.PV_REPO }}/releases/download/${{ env.PV_TAG }}/ttk-paraview-headless-macos-12.tar.gz
301+ if [[ "${{ matrix.os }}" == "macos-12" ]]; then
302+ wget -O ttk-paraview-headless.tar.gz \
303+ https://github.com/${{ env.PV_REPO }}/releases/download/${{ env.PV_TAG }}/ttk-paraview-headless-${{ matrix.os }}.tar.gz
304+ fi
305+ if [[ "${{ matrix.os }}" == "macos-14" ]]; then
306+ wget -O ttk-paraview-headless.tar.gz \
307+ https://github.com/${{ env.PV_REPO }}/releases/download/${{ env.PV_TAG }}/ttk-paraview-headless-${{ matrix.os }}-arm64.tar.gz
308+ fi
291309
292310 - name : Install ParaView
293311 run : |
294- tar xzf ttk-paraview-headless-macos-12 .tar.gz
312+ tar xzf ttk-paraview-headless.tar.gz
295313 sudo cp -r ttk-paraview/* /usr/local
296314 pvpython -m pip install --break-system-packages scikit-learn
297315
@@ -352,6 +370,9 @@ jobs:
352370 id : validate
353371 continue-on-error : true
354372 run : |
373+ # remove buggy example
374+ # related issue: https://github.com/topology-tool-kit/ttk/issues/1055
375+ rm ttk-data/states/nestedTrackingFromOverlap.py
355376 cd ttk-data/tests
356377 mkdir output_screenshots
357378 pvpython -u validate.py || (tar zcf screenshots.tar.gz output_screenshots && false)
@@ -369,6 +390,9 @@ jobs:
369390 - name : Run ttk-data Python scripts
370391 run : |
371392 cd ttk-data
393+ # remove buggy example
394+ # related issue: https://github.com/topology-tool-kit/ttk/issues/1055
395+ rm python/nestedTrackingFromOverlap.py
372396 pvpython -u python/run.py
373397 env :
374398 PV_PLUGIN_PATH : /usr/local/bin/plugins/TopologyToolKit
@@ -400,7 +424,8 @@ jobs:
400424 shell : bash
401425 run : |
402426 conda install -c conda-forge libboost-devel glew eigen spectralib zfp \
403- scikit-learn graphviz ninja python=3.10 zlib qhull llvm-openmp clangxx
427+ sqlite scikit-learn graphviz ninja python=3.10 zlib qhull \
428+ llvm-openmp clangxx
404429 # add TTK & ParaView install folders to PATH
405430 echo "$PV_DIR/bin" >> $GITHUB_PATH
406431 echo "$TTK_DIR/bin" >> $GITHUB_PATH
@@ -549,6 +574,7 @@ jobs:
549574 set PYTHONPATH=%PV_DIR%\bin\Lib\site-packages;%TTK_DIR%\bin\Lib\site-packages;%CONDA_ROOT%\Lib;%CONDA_ROOT%\DLLs
550575 set PV_PLUGIN_PATH=%TTK_DIR%\bin\plugins
551576 cd ttk-data
577+ rm python/nestedTrackingFromOverlap.py
552578 pvpython.exe -u python\run.py
553579
554580 - name : Test ttk-data Python scripts results [NOT ENFORCED]
0 commit comments