@@ -180,43 +180,44 @@ jobs:
180180 runs-on : ${{ matrix.os }}
181181 strategy :
182182 matrix :
183- os : [macos-12 , macos-14]
183+ os : [macos-13 , macos-14, macos-15 ]
184184 env :
185185 DYLD_LIBRARY_PATH : /usr/local/lib
186186
187187 steps :
188188 - uses : actions/checkout@v4
189189 name : Checkout TTK source code
190190
191- - name : Remove hosted Python
192- run : |
193- sudo rm -rf /Library/Frameworks/Python.framework/
194- sudo rm -rf /usr/local/Frameworks/Python.framework/
191+ - uses : actions/setup-python@v5
192+ with :
193+ python-version : ' 3.12'
195194
196195 - name : Install macOS dependencies
197196 run : |
198197 # ParaView dependencies
199- brew reinstall python
200198 brew install --cask xquartz
201199 brew install llvm mesa glew qt@5 ninja
202200 # TTK dependencies
203201 brew install boost eigen graphviz spectra sqlite zlib numpy qhull
204202
203+ - name : Install and setup sccache
204+ uses : f3d-app/sccache-setup-action@v1
205+ with :
206+ key : macos-0
207+
205208 - name : Install optional dependencies
206209 uses : ./.github/actions/install-deps-unix
207210
208211 - name : Fetch & install TTK-ParaView
209212 run : |
210- if [[ "${{ matrix.os }}" == "macos-12" ]]; then
211- wget https://github.com/${{ env.PV_REPO }}/releases/download/${{ env.PV_TAG }}/ttk-paraview-${{ env.PV_TAG }}-${{ matrix.os }}.tar.gz
212- tar xzf ttk-paraview-${{ env.PV_TAG }}-${{ matrix.os }}.tar.gz
213- fi
214- if [[ "${{ matrix.os }}" == "macos-14" ]]; then
215- wget https://github.com/${{ env.PV_REPO }}/releases/download/${{ env.PV_TAG }}/ttk-paraview-${{ env.PV_TAG }}-${{ matrix.os }}-arm64.tar.gz
216- tar xzf ttk-paraview-${{ env.PV_TAG }}-${{ matrix.os }}-arm64.tar.gz
217- fi
213+ wget https://github.com/${{ env.PV_REPO }}/releases/download/${{ env.PV_TAG }}/ttk-paraview-${{ env.PV_TAG }}-${{ matrix.os }}.tar.gz
214+ tar xzf ttk-paraview-${{ env.PV_TAG }}-${{ matrix.os }}.tar.gz
218215 sudo cp -r ttk-paraview/* /usr/local
216+ # pvpython does not embed the correct PYTHONPATH
217+ echo "PYTHONPATH=/usr/local/lib/python3.12/site-packages:$PYTHONPATH" >> $GITHUB_ENV
219218 pvpython -m pip install --break-system-packages scikit-learn
219+ # pvpython is expecting a vtkpython executable at this path
220+ sudo ln -s /usr/local/bin/pvpython /Library/Frameworks/Python.framework/Versions/3.12/vtkpython
220221
221222 - name : Set compilers as environment variables
222223 run : |
@@ -230,8 +231,6 @@ jobs:
230231 cmake \
231232 -DCMAKE_BUILD_TYPE=Release \
232233 -DQt5_DIR=$(brew --prefix qt@5)/lib/cmake/Qt5 \
233- -DPython3_FIND_STRATEGY=LOCATION \
234- -DPython3_ROOT_DIR=$(brew --prefix python) \
235234 -DTTK_BUILD_PARAVIEW_PLUGINS=TRUE \
236235 -DTTK_BUILD_VTK_WRAPPERS=TRUE \
237236 -DTTK_BUILD_STANDALONE_APPS=TRUE \
@@ -266,36 +265,36 @@ jobs:
266265 runs-on : ${{ matrix.os }}
267266 strategy :
268267 matrix :
269- os : [macos-12 , macos-14]
268+ os : [macos-13 , macos-14, macos-15 ]
270269 env :
271270 DYLD_LIBRARY_PATH : /usr/local/lib
272271 steps :
273272 - uses : actions/checkout@v4
274273 name : Checkout TTK source code
275274
276- - name : Remove hosted Python
277- run : |
278- sudo rm -rf /Library/Frameworks/Python.framework
279- sudo rm -rf /usr/local/Frameworks/Python.framework
275+ - uses : actions/setup-python@v5
276+ with :
277+ python-version : ' 3.12'
280278
281279 - name : Install macOS dependencies
282280 run : |
283281 # ParaView dependencies
284- brew reinstall python
285282 brew install --cask xquartz
286283 brew install llvm mesa glew qt@5 ninja
287284 # TTK dependencies
288285 brew install boost eigen graphviz spectra sqlite zlib numpy qhull
289286
287+ - name : Install and setup sccache
288+ uses : f3d-app/sccache-setup-action@v1
289+ with :
290+ key : macos-0
291+
292+ - name : Install optional dependencies
293+ uses : ./.github/actions/install-deps-unix
294+
290295 - name : Fetch TTK-ParaView
291296 run : |
292- if [[ "${{ matrix.os }}" == "macos-12" ]]; then
293- wget -O ttk-paraview.tar.gz https://github.com/${{ env.PV_REPO }}/releases/download/${{ env.PV_TAG }}/ttk-paraview-${{ env.PV_TAG }}-${{ matrix.os }}.tar.gz
294- fi
295- if [[ "${{ matrix.os }}" == "macos-14" ]]; then
296- wget -O ttk-paraview.tar.gz https://github.com/${{ env.PV_REPO }}/releases/download/${{ env.PV_TAG }}/ttk-paraview-${{ env.PV_TAG }}-${{ matrix.os }}-arm64.tar.gz
297- fi
298-
297+ wget -O ttk-paraview.tar.gz https://github.com/${{ env.PV_REPO }}/releases/download/${{ env.PV_TAG }}/ttk-paraview-${{ env.PV_TAG }}-${{ matrix.os }}.tar.gz
299298
300299 - name : Fetch TTK .tar.gz artifact
301300 uses : actions/download-artifact@v4.1.7
@@ -317,6 +316,8 @@ jobs:
317316 echo "CMAKE_PREFIX_PATH=$(brew --prefix qt@5)/lib/cmake:$CMAKE_PREFIX_PATH" >> $GITHUB_ENV
318317 # pvpython does not embed the correct PYTHONPATH
319318 echo "PYTHONPATH=/usr/local/lib/python3.12/site-packages:$PYTHONPATH" >> $GITHUB_ENV
319+ # pvpython is expecting a vtkpython executable at this path
320+ sudo ln -s /usr/local/bin/pvpython /Library/Frameworks/Python.framework/Versions/3.12/vtkpython
320321
321322 - name : Run TTK tests
322323 uses : ./.github/actions/test-ttk-unix
@@ -337,7 +338,7 @@ jobs:
337338 # remove examples which fill up the memory
338339 rm python/topologicalOptimization_darkSky.py
339340 # some cases fail only with version 12
340- if [[ "${{ matrix.os }}" == "macos-12 " ]]; then
341+ if [[ "${{ matrix.os }}" == "macos-13 " ]]; then
341342 rm python/contourTreeAlignment.py
342343 rm python/geometryApproximation.py
343344 rm python/harmonicSkeleton.py
@@ -659,21 +660,29 @@ jobs:
659660 file : ttk-ubuntu-24.04.deb/ttk.deb
660661 asset_name : ttk-$tag-ubuntu-24.04.deb
661662
662- - name : Upload MacOS 12 binary archives as Release Asset
663+ - name : Upload MacOS 13 binary archives as Release Asset
663664 uses : svenstaro/upload-release-action@v2
664665 with :
665666 repo_token : ${{ secrets.GITHUB_TOKEN }}
666667 tag : ${{ github.ref }}
667- file : ttk-macos-12 .tar.gz/ttk.tar.gz
668- asset_name : ttk-$tag-macos-12 .tar.gz
668+ file : ttk-macos-13 .tar.gz/ttk.tar.gz
669+ asset_name : ttk-$tag-macos-13 .tar.gz
669670
670671 - name : Upload MacOS 14 binary archives as Release Asset
671672 uses : svenstaro/upload-release-action@v2
672673 with :
673674 repo_token : ${{ secrets.GITHUB_TOKEN }}
674675 tag : ${{ github.ref }}
675676 file : ttk-macos-14.tar.gz/ttk.tar.gz
676- asset_name : ttk-$tag-macos-14-arm64.tar.gz
677+ asset_name : ttk-$tag-macos-14.tar.gz
678+
679+ - name : Upload MacOS 15 binary archives as Release Asset
680+ uses : svenstaro/upload-release-action@v2
681+ with :
682+ repo_token : ${{ secrets.GITHUB_TOKEN }}
683+ tag : ${{ github.ref }}
684+ file : ttk-macos-15.tar.gz/ttk.tar.gz
685+ asset_name : ttk-$tag-macos-15.tar.gz
677686
678687 - name : Upload Windows .exe as Release Asset
679688 uses : svenstaro/upload-release-action@v2
0 commit comments