Skip to content

Add native CI test matrix#1

Merged
adsharma merged 1 commit into
mainfrom
native-pr-tests
May 30, 2026
Merged

Add native CI test matrix#1
adsharma merged 1 commit into
mainfrom
native-pr-tests

Conversation

@adsharma

@adsharma adsharma commented May 30, 2026

Copy link
Copy Markdown
Contributor

Summary

  • add a PR CI native test matrix for linux-x64 and win-x64
  • download prebuilt Ladybug engine assets from the configured upstream release
  • stage native libraries under lib/runtimes//native and run tests with LADYBUG_REQUIRE_NATIVE=1

@adsharma adsharma marked this pull request as ready for review May 30, 2026 16:00
@adsharma adsharma merged commit 0a8d3d2 into main May 30, 2026
3 checks passed
@adsharma adsharma deleted the native-pr-tests branch May 30, 2026 16:27
sergey-v9 added a commit to sergey-v9/ladybug-dotnet that referenced this pull request Jun 29, 2026
…hiti wishes LadybugDB#3, LadybugDB#5)

Wish LadybugDB#5: add a structured `consumer_impact=` one-liner to upstream-engine.pin
for the current pin (interop/fts_scoring/new_ddl/fixes/note), and make it a
REQUIRED field on every bump in docs/upstream-sync.md — a new numbered
pin-advance step plus the field format and per-field guidance, so consumers
read the impact off the pin instead of re-deriving it each cycle.

Wish LadybugDB#3: add a "D) Engine-feature backlog (needs upstream)" section to
docs/upstream-sync.md recording the fixed-size FLOAT[N] parameter-binding ask:
the binding cannot do it alone because lbug.h has no fixed-ARRAY value
constructor (only lbug_value_create_list) and the header is byte-identical
v0.17.1..main, so 0.18.0 adds none either; it needs an upstream
lbug_value_create_array-style addition plus a typed binding helper. Until
then the List<float> + CAST($v AS FLOAT[N]) path (pinned by
Vector_InlineCosineSimilarity) is the supported route.

Also append a "Response — 2026-06-29 (binding maintainers)" section to
GRAPHITI_SEARCH_EXTENSIONS_FEEDBACK.md addressing all six wishes by number:
LadybugDB#1 Linux from-source native build fixed (validated by next dev push),
LadybugDB#2 version-tolerant DROP_FTS_INDEX round-trip, LadybugDB#3 engine-gated/backlogged,
LadybugDB#4 Connection.ExecuteMany shipped, LadybugDB#5 consumer_impact added+required,
#6 FTS ranking assertions hardened to a score-tweak-resilient cross-check.

Docs-only; build clean (0 warnings, both TFMs), suite green.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
sergey-v9 added a commit to sergey-v9/ladybug-dotnet that referenced this pull request Jun 29, 2026
…ative build

The 0.18.0-dev source-built engine is ABI-incompatible with the published 0.17.0
fts/vector extensions (undefined Catalog::createIndex). This is a SHIPPING defect, not
just a CI failure: a consumer's raw `INSTALL fts; LOAD EXTENSION fts` would crash the
same way on their machine. Upstream builds extensions only for released tags, so riding
main requires building them from source.

- build-native: one CMake configure per RID now builds lbug_shared AND the fts/vector
  extensions. lbug/lbug_shared share an OBJECT-library, so the static lib the Windows
  extensions link against is a link, not a second compile (BUILD_STATIC_LBUG kept on
  Windows, dropped on Linux/macOS where extensions use runtime dynamic lookup). Unify
  Linux to direct CMake (drops the make-install shell/CLI/static over-build) and add
  ccache on Linux/macOS. Stage the extensions flat beside the native + an
  LBUG_EXTENSION_VERSION marker (flat so NuGet reliably copies them to consumer output).
- binding: Interop/ExtensionStaging pre-seeds
  ~/.lbdb/extension/<ver>/<platform>/<name>/ from the bundled extensions at load
  (best-effort, once, before any query), so INSTALL skips the mismatched download and
  LOAD resolves our matched build — covering a consumer's raw-Cypher INSTALL/LOAD too.
- packaging: per-RID native package already globs the runtimes subtree; the test output
  copy picks up the flat extension files alongside the native.
- docs/script: document the mechanism + LBUG_EXTENSION_VERSION pin-bump gate (§E); the
  local build-native-from-pin.ps1 stages extensions identically.

Addresses Graphiti wish LadybugDB#1 (green 0.18.0-dev cross-RID publish).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
sergey-v9 added a commit to sergey-v9/ladybug-dotnet that referenced this pull request Jun 29, 2026
… + skip rebuilds on doc-only pushes

The dev publish run #18 is green on all five RIDs (build-native -> publish ->
consume-published), and the .lbug_extension files are verified present in the published
LadybugDB.Native.<rid> nupkgs. Mark Graphiti wish LadybugDB#1 resolved at 0.18.0-dev.18.1.eng-d8277a8e5;
note LadybugDB#2/#6 are now validated against the real 0.18.0 native (they run in the green Test gate).

Also add a paths-ignore (**/*.md, docs/**) to the dev workflow so doc-only pushes don't
trigger the ~1h cross-RID build+publish.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
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