Skip to content

ci: draft recipe-first build (cvcpkg build libcvc) [blocked on publishing] - #117

Draft
transfix wants to merge 2 commits into
masterfrom
feat/ci-recipe-first
Draft

ci: draft recipe-first build (cvcpkg build libcvc) [blocked on publishing]#117
transfix wants to merge 2 commits into
masterfrom
feat/ci-recipe-first

Conversation

@transfix

Copy link
Copy Markdown
Owner

Draft — the recipe-first CI path requested as the successor to the apt + cvc-requirements.yaml + hand-written cmake steps.

What it does

.github/workflows/ci-recipe.yml builds libcvc on Linux/macOS/Windows (Debug+Release) straight from its in-tree recipe:

cvcpkg build libcvc --recipes-dir recipes --prefix <tmp>/libcvc

— the exact command a developer runs locally. cvcpkg is the sole source of third-party deps (no apt/brew libraries). A find_package(cvc CONFIG) smoke test then links cvc::cvc and round-trips a .rawiv (exercising the #111 write path end to end).

Why it's a draft (workflow_dispatch only, not on PRs)

It can't go green until the closure is published to the cvcpkg catalog:

  • libxml2 (new — feat(recipe): add libxml2 libcvc-deps#335) and the ImageMagick delegates the libcvc recipe now pulls in need published bundles per platform tuple, or cvcpkg errors with "no bundles found in catalog" (unless run with --fallback-to-source, which source-builds the whole stack — very slow, as the local libxml2 build showed).
  • Windows has no published dep bundles at all yet.

Publishing is blocked on the cvcpkg token rotation. Once unblocked and the bundles are published, flip the on: trigger to pull_request/push and retire the matching jobs in ci.yml (and drop cvc-requirements.yaml).

Manual test

Run it via Actions → CI (recipe-first) → Run workflow, optionally ticking fallback_to_source to source-build unpublished deps.

transfix added 2 commits July 20, 2026 17:14
Draft of the recipe-first CI path: build libcvc from its in-tree cvcpkg
recipe (recipes/libcvc) instead of apt + cvc-requirements.yaml + hand-written
cmake. The same `cvcpkg build libcvc --recipes-dir recipes` a developer runs
locally is what CI runs, with cvcpkg as the sole source of third-party deps on
every platform. Includes a find_package(cvc CONFIG) smoke test that writes and
reads back a .rawiv (exercising the #111 write path end to end).

Gated on workflow_dispatch (not PRs) until the closure is published to the
cvcpkg catalog — libxml2 and the ImageMagick delegates need published bundles
per platform (or --fallback-to-source), and Windows needs bundles published at
all. Publishing is blocked on the cvcpkg token rotation. Once unblocked, flip
the trigger to pull_request/push and retire the matching ci.yml jobs.
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