Skip to content

Commit 50d865f

Browse files
Merge pull request #1118 from julien-tierny/dev
[ci] upgrading to pv6
2 parents fbb8771 + a9f3bd1 commit 50d865f

File tree

11 files changed

+129
-73
lines changed

11 files changed

+129
-73
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: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -118,8 +118,11 @@ jobs:
118118
doxygen \
119119
clang-tidy
120120
121-
- name: Install optional dependencies
122-
uses: ./.github/actions/install-deps-unix
121+
- name: Install optional Spectra dependency
122+
uses: ./.github/actions/install-spectra-unix
123+
124+
- name: Install optional ZFP dependency
125+
uses: ./.github/actions/install-zfp-unix
123126

124127
- name: Fetch TTK-ParaView headless Debian package
125128
run: |
@@ -207,8 +210,11 @@ jobs:
207210
clang-tools \
208211
libomp-dev
209212
210-
- name: Install optional dependencies
211-
uses: ./.github/actions/install-deps-unix
213+
- name: Install optional Spectra dependency
214+
uses: ./.github/actions/install-spectra-unix
215+
216+
- name: Install optional ZFP dependency
217+
uses: ./.github/actions/install-zfp-unix
212218

213219
- name: Fetch TTK-ParaView headless Debian package
214220
run: |

.github/workflows/package.yml

Lines changed: 2 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -181,7 +181,7 @@ jobs:
181181
runs-on: ${{ matrix.os }}
182182
strategy:
183183
matrix:
184-
os: [macos-13, macos-14, macos-15]
184+
os: [macos-14, macos-15]
185185
env:
186186
DYLD_LIBRARY_PATH: /usr/local/lib
187187

@@ -268,7 +268,7 @@ jobs:
268268
runs-on: ${{ matrix.os }}
269269
strategy:
270270
matrix:
271-
os: [macos-13, macos-14, macos-15]
271+
os: [macos-14, macos-15]
272272
env:
273273
DYLD_LIBRARY_PATH: /usr/local/lib
274274
steps:
@@ -344,12 +344,6 @@ jobs:
344344
# remove examples which fill up the memory
345345
rm python/topologicalOptimization_darkSky.py
346346
# some cases fail only with version 12
347-
if [[ "${{ matrix.os }}" == "macos-13" ]]; then
348-
rm python/contourTreeAlignment.py
349-
rm python/geometryApproximation.py
350-
rm python/harmonicSkeleton.py
351-
rm python/topologicalOptimization_torus.py
352-
fi
353347
# remove sklearn examples -- buggy on MacOS since sklearn-1.7
354348
rm python/1manifoldLearning.py python/clusteringKelvinHelmholtzInstabilities.py python/karhunenLoveDigits64Dimensions.py python/mergeTreeClustering.py python/persistentGenerators_householdAnalysis.py python/persistentGenerators_periodicPicture.py
355349
pvpython -u python/run.py
@@ -660,14 +654,6 @@ jobs:
660654
file: ttk-ubuntu-24.04.deb/ttk.deb
661655
asset_name: ttk-$tag-ubuntu-24.04.deb
662656

663-
- name: Upload MacOS 13 binary archives as Release Asset
664-
uses: svenstaro/upload-release-action@v2
665-
with:
666-
repo_token: ${{ secrets.GITHUB_TOKEN }}
667-
tag: ${{ github.ref }}
668-
file: ttk-macos-13.tar.gz/ttk.tar.gz
669-
asset_name: ttk-$tag-macos-13.tar.gz
670-
671657
- name: Upload MacOS 14 binary archives as Release Asset
672658
uses: svenstaro/upload-release-action@v2
673659
with:

.github/workflows/test.yml

Lines changed: 29 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ concurrency:
2222
cancel-in-progress: true
2323

2424
env:
25-
PV_TAG: v5.13.0-headless
25+
PV_TAG: v6.0.1-headless
2626
PV_REPO: topology-tool-kit/ttk-paraview
2727

2828

@@ -73,8 +73,11 @@ jobs:
7373
with:
7474
key: ${{ matrix.os }}-0
7575

76-
- name: Install optional dependencies
77-
uses: ./.github/actions/install-deps-unix
76+
- name: Install optional Spectra dependency
77+
uses: ./.github/actions/install-spectra-unix
78+
79+
- name: Install optional ZFP dependency
80+
uses: ./.github/actions/install-zfp-unix
7881

7982
# TODO: try to replicate for mac
8083
- name: Install Torch
@@ -128,7 +131,7 @@ jobs:
128131
run: sccache --show-stats
129132

130133
- name: Run TTK tests
131-
uses: ./.github/actions/test-ttk-unix
134+
uses: ./.github/actions/test-ttk-ubuntu
132135

133136
- name: Upload TTK .deb package for fast install in tests
134137
uses: actions/upload-artifact@v4
@@ -272,7 +275,7 @@ jobs:
272275
runs-on: ${{ matrix.os }}
273276
strategy:
274277
matrix:
275-
os: [macos-13, macos-14, macos-15]
278+
os: [macos-14, macos-15]
276279
if: ${{ github.repository_owner == 'topology-tool-kit' || !contains(github.ref, 'heads') }}
277280
env:
278281
DYLD_LIBRARY_PATH: /usr/local/lib
@@ -283,23 +286,27 @@ jobs:
283286

284287
- uses: actions/setup-python@v5
285288
with:
286-
python-version: '3.12'
289+
python-version: '3.13'
287290

288291
- name: Install macOS dependencies
289292
run: |
290293
# ParaView dependencies
291294
brew install --cask xquartz
292-
brew install llvm lld ninja open-mpi
295+
brew install ninja open-mpi libomp
296+
#brew install llvm lld
293297
# TTK dependencies
294-
brew install boost cgal eigen graphviz spectra sqlite zlib numpy qhull
298+
brew install boost cgal eigen graphviz spectra sqlite numpy qhull
295299
296300
- name: Install and setup sccache
297301
uses: f3d-app/sccache-setup-action@v1
298302
with:
299303
key: macos-0
300304

301-
- name: Install optional dependencies
302-
uses: ./.github/actions/install-deps-unix
305+
- name: Install optional Spectra dependency
306+
uses: ./.github/actions/install-spectra-unix
307+
308+
- name: Install optional ZFP dependency
309+
uses: ./.github/actions/install-zfp-unix
303310

304311
- name: Fetch TTK-ParaView headless macOS binary archive
305312
run: |
@@ -311,17 +318,10 @@ jobs:
311318
tar xzf ttk-paraview-headless.tar.gz
312319
sudo cp -r ttk-paraview/* /usr/local
313320
# pvpython does not embed the correct PYTHONPATH
314-
echo "PYTHONPATH=/usr/local/lib/python3.12/site-packages:$PYTHONPATH" >> $GITHUB_ENV
321+
echo "PYTHONPATH=/usr/local/lib/python3.13/site-packages:$PYTHONPATH" >> $GITHUB_ENV
315322
pvpython -m pip install --break-system-packages scikit-learn
316323
# pvpython is expecting a vtkpython executable at this path
317-
sudo ln -s /usr/local/bin/pvpython /Library/Frameworks/Python.framework/Versions/3.12/vtkpython
318-
319-
- name: Set compilers as environment variables
320-
run: |
321-
echo "CC=$(brew --prefix llvm)/bin/clang" >> $GITHUB_ENV
322-
echo "CXX=$(brew --prefix llvm)/bin/clang++" >> $GITHUB_ENV
323-
echo "CPPFLAGS=$(brew --prefix llvm)/include" >> $GITHUB_ENV
324-
echo "LDFLAGS=-L$(brew --prefix llvm)/lib/c++ -L$(brew --prefix llvm)/lib/unwind -lunwind" >> $GITHUB_ENV
324+
sudo ln -s /usr/local/bin/pvpython /Library/Frameworks/Python.framework/Versions/3.13/vtkpython
325325
326326
- name: Create & configure TTK build directory
327327
run: |
@@ -331,11 +331,17 @@ jobs:
331331
-DCMAKE_BUILD_TYPE=Release \
332332
-DCMAKE_C_COMPILER_LAUNCHER=sccache \
333333
-DCMAKE_CXX_COMPILER_LAUNCHER=sccache \
334+
-DOpenMP_C_FLAGS="-Xpreprocessor -fopenmp -I/opt/homebrew/opt/libomp/include" \
335+
-DOpenMP_C_LIB_NAMES="omp" \
336+
-DOpenMP_CXX_FLAGS="-Xpreprocessor -fopenmp -I/opt/homebrew/opt/libomp/include" \
337+
-DOpenMP_CXX_LIB_NAMES="omp" \
338+
-DOpenMP_omp_LIBRARY=/opt/homebrew/opt/libomp/lib/libomp.dylib \
339+
-DCMAKE_EXE_LINKER_FLAGS="-L/opt/homebrew/opt/libomp/lib -lomp" \
334340
-DTTK_BUILD_PARAVIEW_PLUGINS=TRUE \
335341
-DTTK_BUILD_VTK_WRAPPERS=TRUE \
336342
-DTTK_BUILD_STANDALONE_APPS=TRUE \
337343
-DTTK_ENABLE_KAMIKAZE=TRUE \
338-
-DTTK_ENABLE_MPI=TRUE \
344+
-DTTK_ENABLE_MPI=FALSE \
339345
-DTTK_ENABLE_CPU_OPTIMIZATION=FALSE \
340346
-DTTK_ENABLE_SHARED_BASE_LIBRARIES=TRUE \
341347
-DTTK_IMPLICIT_PRECONDITIONS_THRESHOLD=64*64*64 \
@@ -356,7 +362,7 @@ jobs:
356362
run: sccache --show-stats
357363

358364
- name: Run TTK tests
359-
uses: ./.github/actions/test-ttk-unix
365+
uses: ./.github/actions/test-ttk-macos
360366

361367
- uses: actions/checkout@v4
362368
with:
@@ -589,6 +595,8 @@ jobs:
589595
rm python/mpiExample.py
590596
# remove examples which fill up the memory
591597
rm python/topologicalOptimization_darkSky.py
598+
# remove examples using raster features
599+
rm python/geometryApproximation.py
592600
pvpython.exe -u python\run.py
593601
594602
- name: Test ttk-data Python scripts results [NOT ENFORCED]

CMake/cpack_config.cmake

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ else()
1919
set(CPACK_RESOURCE_FILE_README ${PROJECT_BINARY_DIR}/Readme.txt)
2020
endif()
2121
set(CPACK_DEBIAN_PACKAGE_DEPENDS
22-
"ttk-paraview (= 5.13.0), libboost-system-dev, libeigen3-dev, libgraphviz-dev, libsqlite3-dev, graphviz, python3-sklearn, zlib1g-dev, libqhull-dev, python3-dev, libgl1-mesa-dev")
22+
"ttk-paraview (= 6.0.1), libboost-system-dev, libeigen3-dev, libgraphviz-dev, libsqlite3-dev, graphviz, python3-sklearn, zlib1g-dev, libqhull-dev, python3-dev, libgl1-mesa-dev")
2323
# autogenerate dependency information
2424
set (CPACK_DEBIAN_PACKAGE_SHLIBDEPS ON)
2525
# package will be installed under %ProgramFiles%\${CPACK_PACKAGE_INSTALL_DIRECTORY} on Windows

ChangeLog.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
- Distributed computation of persistent homology!
55
- New backend for TrackingFromFields (critical point based)
66
- Fast planar Rips filtration persistence computation
7+
- CI updates
78

89
### 1.3.0
910
- Wasserstein Auto-Encoders of Merge Trees / Pers. Diagrams (IEEE TVCG 2024)

paraview/patch/headless.yml

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ jobs:
7272
runs-on: ${{ matrix.os }}
7373
strategy:
7474
matrix:
75-
os: [macos-13, macos-14, macos-15]
75+
os: [macos-14, macos-15]
7676
env:
7777
CCACHE_DIR: /Users/runner/work/ttk/.ccache
7878
CCACHE_MAXSIZE: 200M
@@ -88,7 +88,14 @@ jobs:
8888
run: |
8989
# ParaView dependencies
9090
brew install --cask xquartz
91-
brew install ninja open-mpi
91+
brew install llvm lld ninja open-mpi
92+
93+
- name: Set compilers as environment variables
94+
run: |
95+
echo "CC=$(brew --prefix llvm)/bin/clang" >> $GITHUB_ENV
96+
echo "CXX=$(brew --prefix llvm)/bin/clang++" >> $GITHUB_ENV
97+
echo "CPPFLAGS=$(brew --prefix llvm)/include" >> $GITHUB_ENV
98+
echo "LDFLAGS=-L$(brew --prefix llvm)/lib/c++ -L$(brew --prefix llvm)/lib/unwind -lunwind" >> $GITHUB_ENV
9299
93100
- name: Create & configure ParaView build directory
94101
run: |
@@ -270,15 +277,6 @@ jobs:
270277
file: ttk-paraview-headless-macos-14/ttk-paraview.tar.gz
271278
asset_name: ttk-paraview-headless-macos-14.tar.gz
272279

273-
- name: Upload MacOS 13 .tar.gz as Release Asset
274-
uses: svenstaro/upload-release-action@v2
275-
with:
276-
repo_token: ${{ secrets.GITHUB_TOKEN }}
277-
tag: ${{ github.ref }}
278-
file: ttk-paraview-headless-macos-13/ttk-paraview.tar.gz
279-
asset_name: ttk-paraview-headless-macos-13.tar.gz
280-
281-
282280
- name: Upload .exe as Release Asset
283281
uses: svenstaro/upload-release-action@v2
284282
with:

0 commit comments

Comments
 (0)