Skip to content

Commit b00c6f2

Browse files
committed
Merge branch 'dev' of https://github.com/topology-tool-kit/ttk into dev
2 parents 8fcf1ad + d0dd966 commit b00c6f2

File tree

9 files changed

+87
-24
lines changed

9 files changed

+87
-24
lines changed

.github/workflows/test.yml

Lines changed: 38 additions & 12 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.12.0-headless
25+
PV_TAG: v5.13.0-headless
2626
PV_REPO: topology-tool-kit/ttk-paraview
2727

2828

@@ -39,7 +39,7 @@ jobs:
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
@@ -92,6 +92,7 @@ jobs:
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]

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.12.0), python3-sklearn, libboost-system-dev, python3-dev, libgraphviz-dev, libsqlite3-dev, libgl1-mesa-dev")
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")
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 & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
- DMS performance improvements (allocation)
1111
- Saddle connector reversal performance improvements
1212
- Signed distance fields
13-
- Migration to ParaView 5.12
13+
- Migration to ParaView 5.12, 5.13
1414
- Switch to C++17
1515
- Bug fixes
1616

core/base/cinemaQuery/CinemaQuery.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
#include <CinemaQuery.h>
22
#include <iostream>
33

4-
#if TTK_ENABLE_SQLITE3
4+
#ifdef TTK_ENABLE_SQLITE3
55
#include <sqlite3.h>
66
#endif
77

@@ -18,7 +18,7 @@ int ttk::CinemaQuery::execute(
1818
int &csvNColumns,
1919
int &csvNRows) const {
2020

21-
#if TTK_ENABLE_SQLITE3
21+
#ifdef TTK_ENABLE_SQLITE3
2222
// print input
2323
{
2424
std::vector<std::string> sqlLines;

core/base/discreteMorseSandwich/DiscreteMorseSandwich.h

Lines changed: 19 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -478,12 +478,28 @@ namespace ttk {
478478
this->pairedCritCells_[i].resize(
479479
this->dg_.getNumberOfCells(i, triangulation), false);
480480
}
481-
for(int i = 1; i < dim + 1; ++i) {
481+
// NOTE:
482+
// a for loop used to stand here, but gcc 13 looks buggy with it...
483+
if(dim >= 1) {
482484
#ifdef TTK_ENABLE_OPENMP
483485
#pragma omp task
484486
#endif
485-
this->critCellsOrder_[i].resize(
486-
this->dg_.getNumberOfCells(i, triangulation), -1);
487+
this->critCellsOrder_[1].resize(
488+
this->dg_.getNumberOfCells(1, triangulation), -1);
489+
}
490+
if(dim >= 2) {
491+
#ifdef TTK_ENABLE_OPENMP
492+
#pragma omp task
493+
#endif
494+
this->critCellsOrder_[2].resize(
495+
this->dg_.getNumberOfCells(2, triangulation), -1);
496+
}
497+
if(dim >= 3) {
498+
#ifdef TTK_ENABLE_OPENMP
499+
#pragma omp task
500+
#endif
501+
this->critCellsOrder_[3].resize(
502+
this->dg_.getNumberOfCells(3, triangulation), -1);
487503
}
488504
}
489505
this->printMsg("Memory allocations", 1.0, tm.getElapsedTime(), 1,

core/base/webSocketIO/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,5 +8,5 @@ ttk_add_base_library(webSocketIO
88

99
if (TTK_ENABLE_WEBSOCKETPP)
1010
target_compile_definitions(webSocketIO PUBLIC TTK_ENABLE_WEBSOCKETPP)
11-
target_include_directories(webSocketIO PUBLIC ${WEBSOCKETPP_INCLUDE_DIR})
11+
target_include_directories(webSocketIO SYSTEM PRIVATE ${WEBSOCKETPP_INCLUDE_DIR})
1212
endif()

paraview/patch/headless.yml

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ jobs:
1717
runs-on: ${{ matrix.os }}
1818
strategy:
1919
matrix:
20-
os: [ubuntu-20.04, ubuntu-22.04]
20+
os: [ubuntu-20.04, ubuntu-22.04, ubuntu-24.04]
2121
steps:
2222
- uses: actions/checkout@v4
2323
name: Checkout TTK-ParaView source code
@@ -232,6 +232,15 @@ jobs:
232232
file: ttk-paraview-headless-ubuntu-22.04/ttk-paraview.deb
233233
asset_name: ttk-paraview-headless-ubuntu-22.04.deb
234234

235+
- name: Upload Ubuntu Noble Numbat .deb as Release Asset
236+
uses: svenstaro/upload-release-action@v2
237+
with:
238+
repo_token: ${{ secrets.GITHUB_TOKEN }}
239+
tag: ${{ github.ref }}
240+
file: ttk-paraview-headless-ubuntu-24.04/ttk-paraview.deb
241+
asset_name: ttk-paraview-headless-ubuntu-24.04.deb
242+
243+
235244
- name: Upload MacOS 14 (arm64) .tar.gz as Release Asset
236245
uses: svenstaro/upload-release-action@v2
237246
with:
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
--- a/Remoting/Core/vtkPVFileInformation.cxx 2018-04-06 22:03:33.000000000 +0200
2+
+++ b/Remoting/Core/vtkPVFileInformation.cxx 2018-05-20 07:11:10.114020235 +0200
3+
@@ -1226,6 +1222,11 @@
4+
resource_dir = vtksys::SystemTools::CollapseFullPath(resource_dir);
5+
}
6+
7+
+ vtkProcessModule* pm = vtkProcessModule::GetProcessModule();
8+
+
9+
+ if((pm)&&(prefixes.size()))
10+
+ resource_dir = pm->GetSelfDir() + "/../" + prefixes[0];
11+
+
12+
return resource_dir;
13+
}

paraview/patch/patch-paraview-5.13.0.sh

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -74,9 +74,8 @@ mkdir -p TTK/Data/
7474
cp ${PATCH_DIR}/data/* TTK/Data/
7575
cp TTK/Data/*pvsm Qt/ApplicationComponents/Resources/ExampleVisualizations/
7676
cp TTK/Data/*png Qt/ApplicationComponents/Resources/Thumbnails/
77-
# the patch below makes the build fail under macos-14...
78-
#$PATCH_BIN Remoting/Core/vtkPVFileInformation.cxx \
79-
# < "${PATCH_DIR}/paraview-5.8.0-vtkPVFileInformation.cxx.patch"
77+
$PATCH_BIN Remoting/Core/vtkPVFileInformation.cxx \
78+
< "${PATCH_DIR}/paraview-5.13.0-vtkPVFileInformation.cxx.patch"
8079
$PATCH_BIN Qt/ApplicationComponents/Resources/UI/pqExampleVisualizationsDialog.ui \
8180
< "${PATCH_DIR}/paraview-5.13.0-ApplicationComponents.patch"
8281
$PATCH_BIN Qt/ApplicationComponents/pqExampleVisualizationsDialog.cxx \

0 commit comments

Comments
 (0)