Skip to content

ci: switch to cvcpkg-install for per-component dep downloads#81

Open
transfix wants to merge 11 commits into
masterfrom
ci/cvcpkg-install
Open

ci: switch to cvcpkg-install for per-component dep downloads#81
transfix wants to merge 11 commits into
masterfrom
ci/cvcpkg-install

Conversation

@transfix

Copy link
Copy Markdown
Owner

Summary

Switches the fetch-libcvc-deps composite action from downloading a monolithic ~2 GB archive to using cvcpkg-install from transfix/[email protected], which downloads only the individual component bundles listed in cvc-requirements.yaml.

Changes

  • .github/actions/fetch-libcvc-deps/action.yml: Replaced the curl+tar/unzip/7z logic with a single delegation to transfix/libcvc-deps/.github/actions/[email protected]. The output interface (path) is identical, so all 30+ workflow references in ci.yml and release.yml work without modification.
  • cvc-requirements.yaml (new): Declares the 22 components libcvc and volrover3 need from libcvc-deps.

How it works

  1. The local fetch-libcvc-deps action delegates to cvcpkg-install
  2. That action sparse-checkouts libcvc-deps, installs cvcpkg, resolves cvc-requirements.yaml against the published catalog, and downloads only the listed components
  3. The prefix path is output as before — CMAKE_PREFIX_PATH usage is unchanged

Backwards compatibility

The action still falls back gracefully (empty path output) if the catalog or bundles are unavailable, preserving the existing behavior where callers gate from-source builds on steps.<id>.outputs.path != ''.

Related

transfix added 5 commits May 22, 2026 03:44
…loads

Replace the monolithic archive download in the fetch-libcvc-deps
composite action with the new cvcpkg-install action from
transfix/[email protected]. This downloads only the components
listed in cvc-requirements.yaml instead of a single ~2 GB archive.

The output interface (steps.<id>.outputs.path) is unchanged, so
all 30+ references across ci.yml and release.yml work without
modification.

- Add cvc-requirements.yaml listing all 22 components needed by
  libcvc and volrover3
- Update fetch-libcvc-deps action to delegate to cvcpkg-install
- Default version bumped from 1.0.2 to 1.2.0

See transfix/libcvc-deps#34 and the split-distribution roadmap.
- Reference cvcpkg-install@master instead of non-existent @v1.2.0 tag
- Remove version input (no longer downloading from GitHub releases)
- Add qt6 and vtk to cvc-requirements.yaml (needed for volrover3)
transfix added 6 commits July 3, 2026 09:44
…rd-party provider

Windows package jobs in ci.yml and release.yml no longer install boost/hdf5/fftw/gsl/cgal/imagemagick/log4cplus via vcpkg, no longer route buildtrees to D:, no longer pass -DCMAKE_TOOLCHAIN_FILE=vcpkg.cmake or -DVCPKG_TARGET_TRIPLET. cvcpkg (via .github/actions/fetch-libcvc-deps) is the single source of truth on Linux, macOS, and Windows for Qt6, VTK, Boost, HDF5, FFTW, GSL, ImageMagick, log4cplus, and CGAL. Deletes vcpkg-overlay/ (imagemagick port + custom triplets) now that vcpkg is unused. Also adds publish-cvcpkg.yml + cvcpkg/recipes/libcvc/recipe.yaml (stubbed on 'cvcpkg pack-from-prefix' pending that feature).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant