ci(nfft): consume libcvc-deps v1.1.0 NFFT/FFTW on Linux+macOS#34
Merged
Conversation
Adds a fetch-libcvc-deps composite action (copied from libcvc and bumped to v1.1.0) and wires it into the Unix CI path. When the bundle is fetched successfully, the Configure step prepends its root to CMAKE_PREFIX_PATH and PKG_CONFIG_PATH and exports LD_LIBRARY_PATH/DYLD_LIBRARY_PATH for downstream build+test steps. libcvc-deps v1.1.0 ships libnfft3 + nfft3.pc + libfftw3, so F2Dock's existing pkg_check_modules(NFFT) now activates F2DOCK_HAVE_NFFT=1 on those runners. Surfaces a CMake STATUS message on detection so CI logs make the activation observable. Windows continues to use vcpkg; libcvc-deps integration there is a follow-up. Updates doc/F3DOCK_MIGRATION_MATRIX.md Phase 5 task 3 to record partial unblock and the remaining NFFT3-fastsum-not-in-libnfft3 sub-blocker (to be filed upstream against libcvc-deps).
macOS-arm64 libcvc-deps bundle ships its own Boost which shadows brew's on CMAKE_PREFIX_PATH and triggers Boost multi_array concept-check failures inside libcvc's sources during the macos-latest jobs. Linux is unaffected (no system Boost on PATH ahead of bundle Boost in the relevant headers). Restrict the fetch to Linux until macOS bundle compatibility is sorted out upstream; F2DOCK_HAVE_NFFT activation on Linux is still the immediate goal of this PR. Updates F3DOCK_MIGRATION_MATRIX.md Phase 5 task 3 wording accordingly.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Phase 5 task 3 — CI plumbing.
Wires F2Dock CI to pull the prebuilt libcvc-deps v1.1.0 bundle on Linux + macOS via a new fetch-libcvc-deps composite action (copied from libcvc, default version bumped to 1.1.0). When the bundle resolves, the Unix Configure step prepends its root to CMAKE_PREFIX_PATH and PKG_CONFIG_PATH and exports LD_LIBRARY_PATH/DYLD_LIBRARY_PATH so libnfft3 + libfftw3 are visible at configure, build, and test time.
libcvc-deps v1.1.0 ships libnfft3 + nfft3.pc + libfftw3, so F2Dock's existing pkg_check_modules(NFFT) activates F2DOCK_HAVE_NFFT=1 on those runners. The CMake STATUS message added here (
F2Dock: NFFT3 <version> detected via pkg-config; F2DOCK_HAVE_NFFT enabled) makes the activation observable in CI logs.Scope: CI infrastructure + diagnostic only. No source changes to f3dock-nfft or fft-utils. FastGaussianSum::is_accelerated() still returns false because NFFT3's fastsum applications module is not built/installed into libnfft3.so by upstream. That sub-blocker will be filed upstream against transfix/libcvc-deps as a follow-up.
Windows: continues to use vcpkg (no NFFT). libcvc-deps integration there is a separate follow-up.
Docs: F3DOCK_MIGRATION_MATRIX.md Phase 5 task 3 updated to reflect partial unblock and the remaining fastsum-not-in-libnfft3 sub-blocker.