Skip to content

Publish verified export lists, tighten release/CI gates - #1

Merged
SeanShaffer88 merged 26 commits into
mainfrom
arena/7cdfeace-sqlitesuperbuild
Nov 2, 2026
Merged

SeanShaffer88 merged 26 commits into
mainfrom
arena/7cdfeace-sqlitesuperbuild

Conversation

@SeanShaffer88

Copy link
Copy Markdown
Owner

What

Implements the next roadmap item: publish sqlite3.def and vec0.def export lists so non-MSVC toolchains (MinGW-w64, LLVM) can generate import libraries for the DLLs.

  • sqlite3.def — 365 exports from the built x64 DLL (352 common + 13 Windows-only sqlite3_win32_* helpers; sqlite3_version marked DATA).
  • vec0.def — the three sqlite-vec entry points.
  • tools/gen_def.ps1 — generates a def from a DLL with dumpbin.
  • tools/gen_def.sh — generates the same list from a shared library with nm (Linux/macOS).
  • CI regenerates both defs from the built artifacts and fails on drift: Windows compares byte-for-byte, Linux compares symbol coverage (filtering the Windows-only helpers).
  • The release workflow now runs the same fetch → build → defs → harness → shell-smoke gate as CI, and the zip includes sqlite3.exe, sqlite3.def, and vec0.def (the shell was previously built but not packaged).

Also

  • Fixed the harness's vec_version() check, which was a no-op (|| 1 always passed). It is now a real assertion.
  • Documented the defs in README, docs/FEATURES.md, ROADMAP, and AGENTS.
  • Added .gitattributes so the generated defs and POSIX scripts keep LF endings on Windows checkouts (needed for the byte-for-byte comparison).

Verification

  • Local Linux build of the pinned 3.54.1 amalgamation: harness passes 21/21 checks (including vec0 KNN).
  • tools/gen_def.sh output matches the checked-in defs modulo the Windows-only symbols.
  • Windows CI will verify the exact DLL export set; if the MSVC export table differs from the candidate list, the def comparison step will show it.

Roadmap

Marks the export-list candidate done; ICU and ARM64 remain as candidates.

SeanShaffer88 and others added 26 commits November 2, 2026 03:53
Add sqlite3.def and vec0.def generated from the built DLLs, with
tools/gen_def.ps1 (dumpbin) and tools/gen_def.sh (nm) generators. CI
now regenerates both defs and fails when the checked-in copies are
stale; the Linux job checks symbol coverage, the Windows job checks
byte equality. The release workflow runs the same fetch/build/harness
gate as CI and packages sqlite3.exe plus both defs.

Also fix the harness's vec_version() check, which was a no-op (|| 1),
and document the defs in README, docs/FEATURES.md, ROADMAP and
AGENTS.

Co-authored-by: arena-agent <297053741+arena-agent@users.noreply.github.com>
Co-authored-by: arena-agent <297053741+arena-agent@users.noreply.github.com>
Co-authored-by: arena-agent <297053741+arena-agent@users.noreply.github.com>
Co-authored-by: arena-agent <297053741+arena-agent@users.noreply.github.com>
Co-authored-by: arena-agent <297053741+arena-agent@users.noreply.github.com>
Co-authored-by: arena-agent <297053741+arena-agent@users.noreply.github.com>
Co-authored-by: arena-agent <297053741+arena-agent@users.noreply.github.com>
Co-authored-by: arena-agent <297053741+arena-agent@users.noreply.github.com>
Co-authored-by: arena-agent <297053741+arena-agent@users.noreply.github.com>
Co-authored-by: arena-agent <297053741+arena-agent@users.noreply.github.com>
Co-authored-by: arena-agent <297053741+arena-agent@users.noreply.github.com>
Co-authored-by: arena-agent <297053741+arena-agent@users.noreply.github.com>
Co-authored-by: arena-agent <297053741+arena-agent@users.noreply.github.com>
Co-authored-by: arena-agent <297053741+arena-agent@users.noreply.github.com>
Co-authored-by: arena-agent <297053741+arena-agent@users.noreply.github.com>
Co-authored-by: arena-agent <297053741+arena-agent@users.noreply.github.com>
Co-authored-by: arena-agent <297053741+arena-agent@users.noreply.github.com>
Co-authored-by: arena-agent <297053741+arena-agent@users.noreply.github.com>
Co-authored-by: arena-agent <297053741+arena-agent@users.noreply.github.com>
Co-authored-by: arena-agent <297053741+arena-agent@users.noreply.github.com>
Co-authored-by: arena-agent <297053741+arena-agent@users.noreply.github.com>
Co-authored-by: arena-agent <297053741+arena-agent@users.noreply.github.com>
Co-authored-by: arena-agent <297053741+arena-agent@users.noreply.github.com>
Co-authored-by: arena-agent <297053741+arena-agent@users.noreply.github.com>
Co-authored-by: arena-agent <297053741+arena-agent@users.noreply.github.com>
Co-authored-by: arena-agent <297053741+arena-agent@users.noreply.github.com>
Repository owner deleted a comment from github-actions Bot Nov 2, 2026
Repository owner deleted a comment from github-actions Bot Nov 2, 2026
Repository owner deleted a comment from github-actions Bot Nov 2, 2026
Repository owner deleted a comment from github-actions Bot Nov 2, 2026
Repository owner deleted a comment from github-actions Bot Nov 2, 2026
@SeanShaffer88
SeanShaffer88 merged commit e9e119f into main Nov 2, 2026
2 checks passed
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