Skip to content

Commit 5e41891

Browse files
committed
Merge remote-tracking branch 'ttk/dev' into HEAD
2 parents 790334a + 66416c6 commit 5e41891

File tree

77 files changed

+11579
-1036
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

77 files changed

+11579
-1036
lines changed
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
name: 'Install dependencies for Unix'
2+
description: 'Install Spectra optional dependencies'
3+
runs:
4+
using: "composite"
5+
steps:
6+
7+
- name: Install Spectra dependency
8+
shell: bash
9+
run: |
10+
wget https://github.com/yixuan/spectra/archive/v1.1.0.tar.gz
11+
tar xvf v1.1.0.tar.gz
12+
mkdir build_spectra && cd build_spectra
13+
cmake ../spectra-1.1.0
14+
sudo cmake --build . --target install --parallel

.github/actions/install-deps-unix/action.yml renamed to .github/actions/install-zfp-unix/action.yml

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,9 @@
11
name: 'Install dependencies for Unix'
2-
description: 'Install TTK optional dependencies on Ubuntu & macOS'
2+
description: 'Install ZFP optional dependencies'
33
runs:
44
using: "composite"
55
steps:
66

7-
- name: Install Spectra dependency
8-
shell: bash
9-
run: |
10-
wget https://github.com/yixuan/spectra/archive/v1.1.0.tar.gz
11-
tar xvf v1.1.0.tar.gz
12-
mkdir build_spectra && cd build_spectra
13-
cmake ../spectra-1.1.0
14-
sudo cmake --build . --target install --parallel
15-
167
- name: Install ZFP dependency
178
shell: bash
189
run: |
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
name: 'Test TTK for Unix'
2+
description: 'Test TTK standalone, examples & states on Ubuntu & macOS'
3+
runs:
4+
using: "composite"
5+
steps:
6+
7+
- name: Test C++ example
8+
shell: bash
9+
run: |
10+
cd $GITHUB_WORKSPACE/examples/c++
11+
mkdir build && cd build
12+
cmake .. \
13+
-DOpenMP_C_FLAGS="-Xpreprocessor -fopenmp -I/opt/homebrew/opt/libomp/include" \
14+
-DOpenMP_C_LIB_NAMES="omp" \
15+
-DOpenMP_CXX_FLAGS="-Xpreprocessor -fopenmp -I/opt/homebrew/opt/libomp/include" \
16+
-DOpenMP_CXX_LIB_NAMES="omp" \
17+
-DOpenMP_omp_LIBRARY=/opt/homebrew/opt/libomp/lib/libomp.dylib \
18+
-DCMAKE_EXE_LINKER_FLAGS="-L/opt/homebrew/opt/libomp/lib -lomp"
19+
cmake --build . --parallel
20+
./ttkExample-c++ -i ../../data/inputData.off
21+
22+
- name: Test VTK-C++ example
23+
shell: bash
24+
run: |
25+
cd $GITHUB_WORKSPACE/examples/vtk-c++
26+
mkdir build && cd build
27+
cmake .. \
28+
-DOpenMP_C_FLAGS="-Xpreprocessor -fopenmp -I/opt/homebrew/opt/libomp/include" \
29+
-DOpenMP_C_LIB_NAMES="omp" \
30+
-DOpenMP_CXX_FLAGS="-Xpreprocessor -fopenmp -I/opt/homebrew/opt/libomp/include" \
31+
-DOpenMP_CXX_LIB_NAMES="omp" \
32+
-DOpenMP_omp_LIBRARY=/opt/homebrew/opt/libomp/lib/libomp.dylib \
33+
-DCMAKE_EXE_LINKER_FLAGS="-L/opt/homebrew/opt/libomp/lib -lomp"
34+
cmake --build . --parallel
35+
./ttkExample-vtk-c++ -i ../../data/inputData.vtu
36+
37+
- name: Test Python example
38+
shell: bash
39+
run: |
40+
cd $GITHUB_WORKSPACE/examples/python
41+
python3 example.py ../data/inputData.vtu
42+
43+
- name: Test pvpython example
44+
shell: bash
45+
run: |
46+
cd $GITHUB_WORKSPACE/examples/pvpython
47+
pvpython example.py ../data/inputData.vtu
48+
49+
- name: Test standalone
50+
shell: bash
51+
run: |
52+
cd $GITHUB_WORKSPACE
53+
ttkHelloWorldCmd -i examples/data/inputData.vtu
File renamed without changes.

.github/workflows/check.yml

Lines changed: 15 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,16 @@
11
name: check_code
22

33
on:
4-
push:
5-
# triggered on tag pushes with tags beginning with either "v" or "dev"
6-
branch-ignore:
7-
- '*'
8-
tags:
9-
- 'v*'
10-
- 'dev*'
11-
- 'ci*'
12-
- 'check*'
13-
pull_request:
14-
# also triggered by pull requests on the "dev" & "mpi" branches
15-
branches:
16-
- 'dev'
17-
- 'mpi'
18-
19-
20-
concurrency:
21-
group: ${{ github.workflow }}-${{ github.ref }}
22-
cancel-in-progress: true
4+
workflow_call:
5+
workflow_dispatch:
236

247
env:
25-
PV_TAG: v5.13.0-headless
8+
PV_TAG: v6.0.1-headless
269
PV_REPO: topology-tool-kit/ttk-paraview
2710

2811

2912
jobs:
3013

31-
3214
# ----------------------- #
3315
# Check source formatting #
3416
# ----------------------- #
@@ -118,8 +100,11 @@ jobs:
118100
doxygen \
119101
clang-tidy
120102
121-
- name: Install optional dependencies
122-
uses: ./.github/actions/install-deps-unix
103+
- name: Install optional Spectra dependency
104+
uses: ./.github/actions/install-spectra-unix
105+
106+
- name: Install optional ZFP dependency
107+
uses: ./.github/actions/install-zfp-unix
123108

124109
- name: Fetch TTK-ParaView headless Debian package
125110
run: |
@@ -174,7 +159,7 @@ jobs:
174159
# Check compiler warnings #
175160
# ----------------------- #
176161
check-warnings:
177-
runs-on: ubuntu-22.04
162+
runs-on: ubuntu-24.04
178163
strategy:
179164
matrix:
180165
kamikaze: [KAMIKAZE=TRUE, KAMIKAZE=FALSE]
@@ -207,13 +192,16 @@ jobs:
207192
clang-tools \
208193
libomp-dev
209194
210-
- name: Install optional dependencies
211-
uses: ./.github/actions/install-deps-unix
195+
- name: Install optional Spectra dependency
196+
uses: ./.github/actions/install-spectra-unix
197+
198+
- name: Install optional ZFP dependency
199+
uses: ./.github/actions/install-zfp-unix
212200

213201
- name: Fetch TTK-ParaView headless Debian package
214202
run: |
215203
wget -O ttk-paraview-headless.deb \
216-
https://github.com/${{ env.PV_REPO }}/releases/download/${{ env.PV_TAG }}/ttk-paraview-headless-ubuntu-22.04.deb
204+
https://github.com/${{ env.PV_REPO }}/releases/download/${{ env.PV_TAG }}/ttk-paraview-headless-ubuntu-24.04.deb
217205
218206
- name: Install ParaView .deb
219207
run: |

.github/workflows/package.yml

Lines changed: 39 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ on:
1212
- 'pack*'
1313

1414
env:
15-
PV_TAG: v5.13.0
15+
PV_TAG: v6.0.1
1616
PV_REPO: topology-tool-kit/ttk-paraview
1717

1818
jobs:
@@ -47,8 +47,11 @@ jobs:
4747
libqhull-dev \
4848
dpkg-dev
4949
50-
- name: Install optional dependencies
51-
uses: ./.github/actions/install-deps-unix
50+
- name: Install optional Spectra dependency
51+
uses: ./.github/actions/install-spectra-unix
52+
53+
- name: Install optional ZFP dependency
54+
uses: ./.github/actions/install-zfp-unix
5255

5356
- name: Fetch TTK-ParaView headless Debian package
5457
run: |
@@ -134,7 +137,7 @@ jobs:
134137
echo "PYTHONPATH=/usr/lib/python3/dist-packages:$PYTHONPATH" >> $GITHUB_ENV
135138
136139
- name: Run TTK tests
137-
uses: ./.github/actions/test-ttk-unix
140+
uses: ./.github/actions/test-ttk-ubuntu
138141

139142
- uses: actions/checkout@v4
140143
with:
@@ -164,7 +167,7 @@ jobs:
164167
rm python/nestedTrackingFromOverlap.py
165168
# remove examples which fill up the memory
166169
rm python/topologicalOptimization_darkSky.py
167-
python3 -u python/run.py
170+
pvpython -u python/run.py
168171
169172
- name: Test ttk-data Python scripts results [NOT ENFORCED]
170173
continue-on-error: true
@@ -181,7 +184,7 @@ jobs:
181184
runs-on: ${{ matrix.os }}
182185
strategy:
183186
matrix:
184-
os: [macos-13, macos-14, macos-15]
187+
os: [macos-14, macos-15]
185188
env:
186189
DYLD_LIBRARY_PATH: /usr/local/lib
187190

@@ -191,13 +194,13 @@ jobs:
191194

192195
- uses: actions/setup-python@v5
193196
with:
194-
python-version: '3.12'
197+
python-version: '3.13'
195198

196199
- name: Install macOS dependencies
197200
run: |
198201
# ParaView dependencies
199202
brew install --cask xquartz
200-
brew install llvm mesa glew qt@5 ninja
203+
brew install mesa glew qt@5 ninja libomp
201204
# TTK dependencies
202205
brew install boost cgal eigen graphviz spectra sqlite zlib numpy qhull
203206
@@ -206,24 +209,22 @@ jobs:
206209
with:
207210
key: macos-0
208211

209-
- name: Install optional dependencies
210-
uses: ./.github/actions/install-deps-unix
212+
- name: Install optional Spectra dependency
213+
uses: ./.github/actions/install-spectra-unix
214+
215+
- name: Install optional ZFP dependency
216+
uses: ./.github/actions/install-zfp-unix
211217

212218
- name: Fetch & install TTK-ParaView
213219
run: |
214220
wget https://github.com/${{ env.PV_REPO }}/releases/download/${{ env.PV_TAG }}/ttk-paraview-${{ env.PV_TAG }}-${{ matrix.os }}.tar.gz
215221
tar xzf ttk-paraview-${{ env.PV_TAG }}-${{ matrix.os }}.tar.gz
216222
sudo cp -r ttk-paraview/* /usr/local
217223
# pvpython does not embed the correct PYTHONPATH
218-
echo "PYTHONPATH=/usr/local/lib/python3.12/site-packages:$PYTHONPATH" >> $GITHUB_ENV
224+
echo "PYTHONPATH=/usr/local/lib/python3.13/site-packages:$PYTHONPATH" >> $GITHUB_ENV
219225
pvpython -m pip install --break-system-packages scikit-learn
220226
# pvpython is expecting a vtkpython executable at this path
221-
sudo ln -s /usr/local/bin/pvpython /Library/Frameworks/Python.framework/Versions/3.12/vtkpython
222-
223-
- name: Set compilers as environment variables
224-
run: |
225-
echo "CC=$(brew --prefix llvm)/bin/clang" >> $GITHUB_ENV
226-
echo "CXX=$(brew --prefix llvm)/bin/clang++" >> $GITHUB_ENV
227+
sudo ln -s /usr/local/bin/pvpython /Library/Frameworks/Python.framework/Versions/3.13/vtkpython
227228
228229
- name: Create & configure TTK build directory
229230
run: |
@@ -232,6 +233,12 @@ jobs:
232233
cmake \
233234
-DCMAKE_BUILD_TYPE=Release \
234235
-DQt5_DIR=$(brew --prefix qt@5)/lib/cmake/Qt5 \
236+
-DOpenMP_C_FLAGS="-Xpreprocessor -fopenmp -I/opt/homebrew/opt/libomp/include" \
237+
-DOpenMP_C_LIB_NAMES="omp" \
238+
-DOpenMP_CXX_FLAGS="-Xpreprocessor -fopenmp -I/opt/homebrew/opt/libomp/include" \
239+
-DOpenMP_CXX_LIB_NAMES="omp" \
240+
-DOpenMP_omp_LIBRARY=/opt/homebrew/opt/libomp/lib/libomp.dylib \
241+
-DCMAKE_EXE_LINKER_FLAGS="-L/opt/homebrew/opt/libomp/lib -lomp" \
235242
-DTTK_BUILD_PARAVIEW_PLUGINS=TRUE \
236243
-DTTK_BUILD_VTK_WRAPPERS=TRUE \
237244
-DTTK_BUILD_STANDALONE_APPS=TRUE \
@@ -266,7 +273,7 @@ jobs:
266273
runs-on: ${{ matrix.os }}
267274
strategy:
268275
matrix:
269-
os: [macos-13, macos-14, macos-15]
276+
os: [macos-14, macos-15]
270277
env:
271278
DYLD_LIBRARY_PATH: /usr/local/lib
272279
steps:
@@ -275,13 +282,13 @@ jobs:
275282

276283
- uses: actions/setup-python@v5
277284
with:
278-
python-version: '3.12'
285+
python-version: '3.13'
279286

280287
- name: Install macOS dependencies
281288
run: |
282289
# ParaView dependencies
283290
brew install --cask xquartz
284-
brew install llvm mesa glew qt@5 ninja
291+
brew install mesa glew qt@5 ninja libomp
285292
# TTK dependencies
286293
brew install boost cgal eigen graphviz spectra sqlite zlib numpy qhull
287294
@@ -290,8 +297,11 @@ jobs:
290297
with:
291298
key: macos-0
292299

293-
- name: Install optional dependencies
294-
uses: ./.github/actions/install-deps-unix
300+
- name: Install optional Spectra dependency
301+
uses: ./.github/actions/install-spectra-unix
302+
303+
- name: Install optional ZFP dependency
304+
uses: ./.github/actions/install-zfp-unix
295305

296306
- name: Fetch TTK-ParaView
297307
run: |
@@ -312,16 +322,14 @@ jobs:
312322
313323
- name: Set environment variables
314324
run: |
315-
echo "CC=$(brew --prefix llvm)/bin/clang" >> $GITHUB_ENV
316-
echo "CXX=$(brew --prefix llvm)/bin/clang++" >> $GITHUB_ENV
317325
echo "CMAKE_PREFIX_PATH=$(brew --prefix qt@5)/lib/cmake:$CMAKE_PREFIX_PATH" >> $GITHUB_ENV
318326
# pvpython does not embed the correct PYTHONPATH
319-
echo "PYTHONPATH=/usr/local/lib/python3.12/site-packages:$PYTHONPATH" >> $GITHUB_ENV
327+
echo "PYTHONPATH=/usr/local/lib/python3.13/site-packages:$PYTHONPATH" >> $GITHUB_ENV
320328
# pvpython is expecting a vtkpython executable at this path
321-
sudo ln -s /usr/local/bin/pvpython /Library/Frameworks/Python.framework/Versions/3.12/vtkpython
329+
sudo ln -s /usr/local/bin/pvpython /Library/Frameworks/Python.framework/Versions/3.13/vtkpython
322330
323331
- name: Run TTK tests
324-
uses: ./.github/actions/test-ttk-unix
332+
uses: ./.github/actions/test-ttk-macos
325333

326334
- uses: actions/checkout@v4
327335
with:
@@ -339,12 +347,6 @@ jobs:
339347
# remove examples which fill up the memory
340348
rm python/topologicalOptimization_darkSky.py
341349
# some cases fail only with version 12
342-
if [[ "${{ matrix.os }}" == "macos-13" ]]; then
343-
rm python/contourTreeAlignment.py
344-
rm python/geometryApproximation.py
345-
rm python/harmonicSkeleton.py
346-
rm python/topologicalOptimization_torus.py
347-
fi
348350
# remove sklearn examples -- buggy on MacOS since sklearn-1.7
349351
rm python/1manifoldLearning.py python/clusteringKelvinHelmholtzInstabilities.py python/karhunenLoveDigits64Dimensions.py python/mergeTreeClustering.py python/persistentGenerators_householdAnalysis.py python/persistentGenerators_periodicPicture.py
350352
pvpython -u python/run.py
@@ -588,8 +590,12 @@ jobs:
588590
set PV_PLUGIN_PATH=%TTK_DIR%\bin\plugins
589591
cd ttk-data
590592
rm python/nestedTrackingFromOverlap.py
593+
# tmp removal of mpi example
594+
rm python/mpiExample.py
591595
# remove examples which fill up the memory
592596
rm python/topologicalOptimization_darkSky.py
597+
# remove examples using raster features
598+
rm python/geometryApproximation.py
593599
pvpython.exe -u python\run.py
594600
595601
- name: Test ttk-data Python scripts results [NOT ENFORCED]
@@ -655,14 +661,6 @@ jobs:
655661
file: ttk-ubuntu-24.04.deb/ttk.deb
656662
asset_name: ttk-$tag-ubuntu-24.04.deb
657663

658-
- name: Upload MacOS 13 binary archives as Release Asset
659-
uses: svenstaro/upload-release-action@v2
660-
with:
661-
repo_token: ${{ secrets.GITHUB_TOKEN }}
662-
tag: ${{ github.ref }}
663-
file: ttk-macos-13.tar.gz/ttk.tar.gz
664-
asset_name: ttk-$tag-macos-13.tar.gz
665-
666664
- name: Upload MacOS 14 binary archives as Release Asset
667665
uses: svenstaro/upload-release-action@v2
668666
with:

0 commit comments

Comments
 (0)