Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
ec75ffa
Merge branch 'dev' of https://github.com/topology-tool-kit/ttk into dev
julien-tierny Oct 3, 2024
525b4fd
Merge branch 'dev' of https://github.com/topology-tool-kit/ttk into dev
julien-tierny Jan 6, 2025
5572911
Merge branch 'dev' of https://github.com/topology-tool-kit/ttk into dev
julien-tierny Jan 10, 2025
61233e4
Merge branch 'dev' of https://github.com/topology-tool-kit/ttk into dev
julien-tierny Jan 29, 2025
db66fb5
Merge branch 'dev' of https://github.com/topology-tool-kit/ttk into dev
julien-tierny Apr 9, 2025
b5a80e5
Merge branch 'dev' of https://github.com/topology-tool-kit/ttk into dev
julien-tierny Apr 16, 2025
cf5ead9
Merge branch 'dev' of https://github.com/topology-tool-kit/ttk into dev
julien-tierny Apr 28, 2025
8ee0aba
Merge branch 'dev' of https://github.com/topology-tool-kit/ttk into dev
julien-tierny Jun 11, 2025
fcfa1a2
Merge branch 'dev' of https://github.com/topology-tool-kit/ttk into dev
julien-tierny Jul 2, 2025
04fca38
[ci] removing deprecated macos-13
julien-tierny Oct 3, 2025
3c2a1dd
[ci] trying to fix macos
julien-tierny Oct 3, 2025
02e3368
[ci] trying to fix macos build
julien-tierny Oct 3, 2025
29f1452
[ci] trying to fix macos build
julien-tierny Oct 3, 2025
51636b3
[ci] trying to fix macos build
julien-tierny Oct 3, 2025
46248f0
[ci] trying to fix macos build
julien-tierny Oct 3, 2025
7b423ce
[ci] trying to fix macos build
julien-tierny Oct 3, 2025
7468623
[ci] trying to fix macos build
julien-tierny Oct 3, 2025
36c3529
[ci] trying to fix macos build
julien-tierny Oct 3, 2025
831fe6b
[ci] dropping zfp on mac
julien-tierny Oct 3, 2025
ae65c8a
[ci] dropping zfp on mac
julien-tierny Oct 3, 2025
bfbedf9
[ci] finished zfp-spectra install split
julien-tierny Oct 3, 2025
012798f
[ci] macos (putting back spectra)
julien-tierny Oct 3, 2025
b6a7622
[ci] remove zfp+zip macos
julien-tierny Oct 3, 2025
0714512
[ci] disabling zlib on macos
julien-tierny Oct 3, 2025
c34d964
[ci] public linking zfp macos
julien-tierny Oct 3, 2025
5819cf8
[ci] macos fix attemps
julien-tierny Oct 3, 2025
23d2126
Merge branch 'dev' of https://github.com/topology-tool-kit/ttk into dev
julien-tierny Oct 6, 2025
d011896
Merge branch 'dev' of https://github.com/julien-tierny/ttk into dev
julien-tierny Oct 7, 2025
965defc
[ci] migrating test to pv6
julien-tierny Oct 7, 2025
bbc4655
[ci] trying default toolchain for macos
julien-tierny Oct 7, 2025
3cf2df1
[ci] trying flags for openmp default macos tools
julien-tierny Oct 7, 2025
f605749
[ci] using env var for macos toolchain
julien-tierny Oct 7, 2025
0123cb5
[ci] updated macos toolchain tests
julien-tierny Oct 7, 2025
121e59e
[ci] added macos specific actions
julien-tierny Oct 7, 2025
9cc7b5a
[ci] upgrading pv version for ubuntu pkg
julien-tierny Oct 7, 2025
a9f3bd1
[ci] removing raster tests on windows
julien-tierny Oct 7, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 14 additions & 0 deletions .github/actions/install-spectra-unix/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
name: 'Install dependencies for Unix'
description: 'Install Spectra optional dependencies'
runs:
using: "composite"
steps:

- name: Install Spectra dependency
shell: bash
run: |
wget https://github.com/yixuan/spectra/archive/v1.1.0.tar.gz
tar xvf v1.1.0.tar.gz
mkdir build_spectra && cd build_spectra
cmake ../spectra-1.1.0
sudo cmake --build . --target install --parallel
Original file line number Diff line number Diff line change
@@ -1,18 +1,9 @@
name: 'Install dependencies for Unix'
description: 'Install TTK optional dependencies on Ubuntu & macOS'
description: 'Install ZFP optional dependencies'
runs:
using: "composite"
steps:

- name: Install Spectra dependency
shell: bash
run: |
wget https://github.com/yixuan/spectra/archive/v1.1.0.tar.gz
tar xvf v1.1.0.tar.gz
mkdir build_spectra && cd build_spectra
cmake ../spectra-1.1.0
sudo cmake --build . --target install --parallel

- name: Install ZFP dependency
shell: bash
run: |
Expand Down
53 changes: 53 additions & 0 deletions .github/actions/test-ttk-macos/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
name: 'Test TTK for Unix'
description: 'Test TTK standalone, examples & states on Ubuntu & macOS'
runs:
using: "composite"
steps:

- name: Test C++ example
shell: bash
run: |
cd $GITHUB_WORKSPACE/examples/c++
mkdir build && cd build
cmake .. \
-DOpenMP_C_FLAGS="-Xpreprocessor -fopenmp -I/opt/homebrew/opt/libomp/include" \
-DOpenMP_C_LIB_NAMES="omp" \
-DOpenMP_CXX_FLAGS="-Xpreprocessor -fopenmp -I/opt/homebrew/opt/libomp/include" \
-DOpenMP_CXX_LIB_NAMES="omp" \
-DOpenMP_omp_LIBRARY=/opt/homebrew/opt/libomp/lib/libomp.dylib \
-DCMAKE_EXE_LINKER_FLAGS="-L/opt/homebrew/opt/libomp/lib -lomp"
cmake --build . --parallel
./ttkExample-c++ -i ../../data/inputData.off

- name: Test VTK-C++ example
shell: bash
run: |
cd $GITHUB_WORKSPACE/examples/vtk-c++
mkdir build && cd build
cmake .. \
-DOpenMP_C_FLAGS="-Xpreprocessor -fopenmp -I/opt/homebrew/opt/libomp/include" \
-DOpenMP_C_LIB_NAMES="omp" \
-DOpenMP_CXX_FLAGS="-Xpreprocessor -fopenmp -I/opt/homebrew/opt/libomp/include" \
-DOpenMP_CXX_LIB_NAMES="omp" \
-DOpenMP_omp_LIBRARY=/opt/homebrew/opt/libomp/lib/libomp.dylib \
-DCMAKE_EXE_LINKER_FLAGS="-L/opt/homebrew/opt/libomp/lib -lomp"
cmake --build . --parallel
./ttkExample-vtk-c++ -i ../../data/inputData.vtu

- name: Test Python example
shell: bash
run: |
cd $GITHUB_WORKSPACE/examples/python
python3 example.py ../data/inputData.vtu

- name: Test pvpython example
shell: bash
run: |
cd $GITHUB_WORKSPACE/examples/pvpython
pvpython example.py ../data/inputData.vtu

- name: Test standalone
shell: bash
run: |
cd $GITHUB_WORKSPACE
ttkHelloWorldCmd -i examples/data/inputData.vtu
14 changes: 10 additions & 4 deletions .github/workflows/check.yml
Original file line number Diff line number Diff line change
Expand Up @@ -118,8 +118,11 @@ jobs:
doxygen \
clang-tidy

- name: Install optional dependencies
uses: ./.github/actions/install-deps-unix
- name: Install optional Spectra dependency
uses: ./.github/actions/install-spectra-unix

- name: Install optional ZFP dependency
uses: ./.github/actions/install-zfp-unix

- name: Fetch TTK-ParaView headless Debian package
run: |
Expand Down Expand Up @@ -207,8 +210,11 @@ jobs:
clang-tools \
libomp-dev

- name: Install optional dependencies
uses: ./.github/actions/install-deps-unix
- name: Install optional Spectra dependency
uses: ./.github/actions/install-spectra-unix

- name: Install optional ZFP dependency
uses: ./.github/actions/install-zfp-unix

- name: Fetch TTK-ParaView headless Debian package
run: |
Expand Down
18 changes: 2 additions & 16 deletions .github/workflows/package.yml
Original file line number Diff line number Diff line change
Expand Up @@ -181,7 +181,7 @@ jobs:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [macos-13, macos-14, macos-15]
os: [macos-14, macos-15]
env:
DYLD_LIBRARY_PATH: /usr/local/lib

Expand Down Expand Up @@ -268,7 +268,7 @@ jobs:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [macos-13, macos-14, macos-15]
os: [macos-14, macos-15]
env:
DYLD_LIBRARY_PATH: /usr/local/lib
steps:
Expand Down Expand Up @@ -344,12 +344,6 @@ jobs:
# remove examples which fill up the memory
rm python/topologicalOptimization_darkSky.py
# some cases fail only with version 12
if [[ "${{ matrix.os }}" == "macos-13" ]]; then
rm python/contourTreeAlignment.py
rm python/geometryApproximation.py
rm python/harmonicSkeleton.py
rm python/topologicalOptimization_torus.py
fi
# remove sklearn examples -- buggy on MacOS since sklearn-1.7
rm python/1manifoldLearning.py python/clusteringKelvinHelmholtzInstabilities.py python/karhunenLoveDigits64Dimensions.py python/mergeTreeClustering.py python/persistentGenerators_householdAnalysis.py python/persistentGenerators_periodicPicture.py
pvpython -u python/run.py
Expand Down Expand Up @@ -660,14 +654,6 @@ jobs:
file: ttk-ubuntu-24.04.deb/ttk.deb
asset_name: ttk-$tag-ubuntu-24.04.deb

- name: Upload MacOS 13 binary archives as Release Asset
uses: svenstaro/upload-release-action@v2
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
tag: ${{ github.ref }}
file: ttk-macos-13.tar.gz/ttk.tar.gz
asset_name: ttk-$tag-macos-13.tar.gz

- name: Upload MacOS 14 binary archives as Release Asset
uses: svenstaro/upload-release-action@v2
with:
Expand Down
50 changes: 29 additions & 21 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ concurrency:
cancel-in-progress: true

env:
PV_TAG: v5.13.0-headless
PV_TAG: v6.0.1-headless
PV_REPO: topology-tool-kit/ttk-paraview


Expand Down Expand Up @@ -73,8 +73,11 @@ jobs:
with:
key: ${{ matrix.os }}-0

- name: Install optional dependencies
uses: ./.github/actions/install-deps-unix
- name: Install optional Spectra dependency
uses: ./.github/actions/install-spectra-unix

- name: Install optional ZFP dependency
uses: ./.github/actions/install-zfp-unix

# TODO: try to replicate for mac
- name: Install Torch
Expand Down Expand Up @@ -128,7 +131,7 @@ jobs:
run: sccache --show-stats

- name: Run TTK tests
uses: ./.github/actions/test-ttk-unix
uses: ./.github/actions/test-ttk-ubuntu

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

- uses: actions/setup-python@v5
with:
python-version: '3.12'
python-version: '3.13'

- name: Install macOS dependencies
run: |
# ParaView dependencies
brew install --cask xquartz
brew install llvm lld ninja open-mpi
brew install ninja open-mpi libomp
#brew install llvm lld
# TTK dependencies
brew install boost cgal eigen graphviz spectra sqlite zlib numpy qhull
brew install boost cgal eigen graphviz spectra sqlite numpy qhull

- name: Install and setup sccache
uses: f3d-app/sccache-setup-action@v1
with:
key: macos-0

- name: Install optional dependencies
uses: ./.github/actions/install-deps-unix
- name: Install optional Spectra dependency
uses: ./.github/actions/install-spectra-unix

- name: Install optional ZFP dependency
uses: ./.github/actions/install-zfp-unix

- name: Fetch TTK-ParaView headless macOS binary archive
run: |
Expand All @@ -311,17 +318,10 @@ jobs:
tar xzf ttk-paraview-headless.tar.gz
sudo cp -r ttk-paraview/* /usr/local
# pvpython does not embed the correct PYTHONPATH
echo "PYTHONPATH=/usr/local/lib/python3.12/site-packages:$PYTHONPATH" >> $GITHUB_ENV
echo "PYTHONPATH=/usr/local/lib/python3.13/site-packages:$PYTHONPATH" >> $GITHUB_ENV
pvpython -m pip install --break-system-packages scikit-learn
# pvpython is expecting a vtkpython executable at this path
sudo ln -s /usr/local/bin/pvpython /Library/Frameworks/Python.framework/Versions/3.12/vtkpython

- name: Set compilers as environment variables
run: |
echo "CC=$(brew --prefix llvm)/bin/clang" >> $GITHUB_ENV
echo "CXX=$(brew --prefix llvm)/bin/clang++" >> $GITHUB_ENV
echo "CPPFLAGS=$(brew --prefix llvm)/include" >> $GITHUB_ENV
echo "LDFLAGS=-L$(brew --prefix llvm)/lib/c++ -L$(brew --prefix llvm)/lib/unwind -lunwind" >> $GITHUB_ENV
sudo ln -s /usr/local/bin/pvpython /Library/Frameworks/Python.framework/Versions/3.13/vtkpython

- name: Create & configure TTK build directory
run: |
Expand All @@ -331,11 +331,17 @@ jobs:
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_C_COMPILER_LAUNCHER=sccache \
-DCMAKE_CXX_COMPILER_LAUNCHER=sccache \
-DOpenMP_C_FLAGS="-Xpreprocessor -fopenmp -I/opt/homebrew/opt/libomp/include" \
-DOpenMP_C_LIB_NAMES="omp" \
-DOpenMP_CXX_FLAGS="-Xpreprocessor -fopenmp -I/opt/homebrew/opt/libomp/include" \
-DOpenMP_CXX_LIB_NAMES="omp" \
-DOpenMP_omp_LIBRARY=/opt/homebrew/opt/libomp/lib/libomp.dylib \
-DCMAKE_EXE_LINKER_FLAGS="-L/opt/homebrew/opt/libomp/lib -lomp" \
-DTTK_BUILD_PARAVIEW_PLUGINS=TRUE \
-DTTK_BUILD_VTK_WRAPPERS=TRUE \
-DTTK_BUILD_STANDALONE_APPS=TRUE \
-DTTK_ENABLE_KAMIKAZE=TRUE \
-DTTK_ENABLE_MPI=TRUE \
-DTTK_ENABLE_MPI=FALSE \
-DTTK_ENABLE_CPU_OPTIMIZATION=FALSE \
-DTTK_ENABLE_SHARED_BASE_LIBRARIES=TRUE \
-DTTK_IMPLICIT_PRECONDITIONS_THRESHOLD=64*64*64 \
Expand All @@ -356,7 +362,7 @@ jobs:
run: sccache --show-stats

- name: Run TTK tests
uses: ./.github/actions/test-ttk-unix
uses: ./.github/actions/test-ttk-macos

- uses: actions/checkout@v4
with:
Expand Down Expand Up @@ -589,6 +595,8 @@ jobs:
rm python/mpiExample.py
# remove examples which fill up the memory
rm python/topologicalOptimization_darkSky.py
# remove examples using raster features
rm python/geometryApproximation.py
pvpython.exe -u python\run.py

- name: Test ttk-data Python scripts results [NOT ENFORCED]
Expand Down
2 changes: 1 addition & 1 deletion CMake/cpack_config.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ else()
set(CPACK_RESOURCE_FILE_README ${PROJECT_BINARY_DIR}/Readme.txt)
endif()
set(CPACK_DEBIAN_PACKAGE_DEPENDS
"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")
"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")
# autogenerate dependency information
set (CPACK_DEBIAN_PACKAGE_SHLIBDEPS ON)
# package will be installed under %ProgramFiles%\${CPACK_PACKAGE_INSTALL_DIRECTORY} on Windows
Expand Down
1 change: 1 addition & 0 deletions ChangeLog.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
- Distributed computation of persistent homology!
- New backend for TrackingFromFields (critical point based)
- Fast planar Rips filtration persistence computation
- CI updates

### 1.3.0
- Wasserstein Auto-Encoders of Merge Trees / Pers. Diagrams (IEEE TVCG 2024)
Expand Down
20 changes: 9 additions & 11 deletions paraview/patch/headless.yml
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ jobs:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [macos-13, macos-14, macos-15]
os: [macos-14, macos-15]
env:
CCACHE_DIR: /Users/runner/work/ttk/.ccache
CCACHE_MAXSIZE: 200M
Expand All @@ -88,7 +88,14 @@ jobs:
run: |
# ParaView dependencies
brew install --cask xquartz
brew install ninja open-mpi
brew install llvm lld ninja open-mpi

- name: Set compilers as environment variables
run: |
echo "CC=$(brew --prefix llvm)/bin/clang" >> $GITHUB_ENV
echo "CXX=$(brew --prefix llvm)/bin/clang++" >> $GITHUB_ENV
echo "CPPFLAGS=$(brew --prefix llvm)/include" >> $GITHUB_ENV
echo "LDFLAGS=-L$(brew --prefix llvm)/lib/c++ -L$(brew --prefix llvm)/lib/unwind -lunwind" >> $GITHUB_ENV

- name: Create & configure ParaView build directory
run: |
Expand Down Expand Up @@ -270,15 +277,6 @@ jobs:
file: ttk-paraview-headless-macos-14/ttk-paraview.tar.gz
asset_name: ttk-paraview-headless-macos-14.tar.gz

- name: Upload MacOS 13 .tar.gz as Release Asset
uses: svenstaro/upload-release-action@v2
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
tag: ${{ github.ref }}
file: ttk-paraview-headless-macos-13/ttk-paraview.tar.gz
asset_name: ttk-paraview-headless-macos-13.tar.gz


- name: Upload .exe as Release Asset
uses: svenstaro/upload-release-action@v2
with:
Expand Down
19 changes: 9 additions & 10 deletions paraview/patch/package.yml
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ jobs:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [macos-13, macos-14, macos-15]
os: [macos-14, macos-15]
env:
CCACHE_DIR: /Users/runner/work/ttk/.ccache
CCACHE_MAXSIZE: 200M
Expand All @@ -91,7 +91,14 @@ jobs:
run: |
# ParaView dependencies
brew install --cask xquartz
brew install mesa glew qt@5 ninja
brew install llvm lld mesa glew qt@5 ninja

- name: Set compilers as environment variables
run: |
echo "CC=$(brew --prefix llvm)/bin/clang" >> $GITHUB_ENV
echo "CXX=$(brew --prefix llvm)/bin/clang++" >> $GITHUB_ENV
echo "CPPFLAGS=$(brew --prefix llvm)/include" >> $GITHUB_ENV
echo "LDFLAGS=-L$(brew --prefix llvm)/lib/c++ -L$(brew --prefix llvm)/lib/unwind -lunwind" >> $GITHUB_ENV

- name: Create & configure ParaView build directory
run: |
Expand Down Expand Up @@ -271,14 +278,6 @@ jobs:
file: ttk-paraview-macos-14/ttk-paraview.tar.gz
asset_name: ttk-paraview-$tag-macos-14.tar.gz

- name: Upload MacOS 13 .tar.gz as Release Asset
uses: svenstaro/upload-release-action@v2
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
tag: ${{ github.ref }}
file: ttk-paraview-macos-13/ttk-paraview.tar.gz
asset_name: ttk-paraview-$tag-macos-13.tar.gz

- name: Upload .exe as Release Asset
uses: svenstaro/upload-release-action@v2
with:
Expand Down
Loading