ci: draft recipe-first build (cvcpkg build libcvc) [blocked on publishing] - #117
Draft
transfix wants to merge 2 commits into
Draft
ci: draft recipe-first build (cvcpkg build libcvc) [blocked on publishing]#117transfix wants to merge 2 commits into
transfix wants to merge 2 commits into
Conversation
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.
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.
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.ymlbuilds libcvc on Linux/macOS/Windows (Debug+Release) straight from its in-tree recipe:— 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 linkscvc::cvcand 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, orcvcpkgerrors 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).Publishing is blocked on the cvcpkg token rotation. Once unblocked and the bundles are published, flip the
on:trigger topull_request/pushand retire the matching jobs inci.yml(and dropcvc-requirements.yaml).Manual test
Run it via Actions → CI (recipe-first) → Run workflow, optionally ticking fallback_to_source to source-build unpublished deps.