Skip to content

ci: reduce duplicate validation and consolidate tests - #163

Merged
gouyt13 merged 2 commits into
mainfrom
ci/simplify-validation
Oct 25, 2026
Merged

gouyt13 merged 2 commits into
mainfrom
ci/simplify-validation

Conversation

@gouyt13

@gouyt13 gouyt13 commented Oct 25, 2026 •

Copy link
Copy Markdown
Member

Summary

CI repeats numerical reference builds across consumer jobs and uses duplicate summary jobs. Reduce producer reference builds from 20 to 5 while preserving all 60 consumer integration configurations and OpenMP OFF coverage. Run complete clang-tidy analysis in one job and remove the duplicate FAISS summary; FAISS remains covered by Python validation.

  • Consolidate constructor, search-output and SIMD tests while retaining boundary inputs and backend checks.
  • Reject empty clang-tidy scopes and test failure propagation. Lightweight consumer-test stubs retain all seven scenarios.
  • Use -g1 for sanitizer builds, retaining assertions, source locations, frame pointers and ASan/UBSan checks with less variable/type debug information.
  • Replace exhaustive IVF lifecycle combinations under SDE with a 31-to-33-point append/remove/reload test covering L2/IP, sign-only/extra-bit/raw storage and standard/HACC scans. Full combinations remain in native Release and sanitizer suites; both emulated CPU models, numerical references and HNSW checks remain. Log runner CPU information to help diagnose emulation variability.
  • Validate CLI-produced indexes and benchmark append results; handle benchmark datasets smaller than 10 points and own factory results in exception tests.

No public API, persisted-format or dependency changes. Main's branch protection has removed the obsolete FAISS summary and added Documentation validation.

Testing

Latest follow-up, with GCC 14 and native optimization disabled:

  • Full ASan/UBSan CTest suite: 410 passed, 1 expected skip; separate OpenMP binding test passed.
  • Installed sanitizer consumer: 3 passed.
  • Native main executable: 371 passed, 1 expected OpenMP binding skip.
  • Complete updated SDE filter: Haswell 81 passed / 7 AVX-512 skips; Ice Lake 88 passed.
  • Intentional ASan use-after-free and UBSan overflow probes both report source lines with -g1.
  • CI automation: 46 passed. C++ formatting, focused clang-tidy, actionlint and git diff checks passed.

Earlier validation of the other changes included 732 Python tests passed / 2 platform-wheel skips, OpenMP ON/OFF consumer integrations, complete 46-translation-unit clang-tidy analysis and focused benchmark checks.

The first PR revision passed all hosted workflows. The latest changes still need hosted CI, including GCC 13 and Windows/macOS/ARM. Local measurements do not establish a hosted end-to-end speedup.

@github-actions github-actions Bot added the release:build Release category managed from the PR title label Oct 25, 2026
@gouyt13
gouyt13 merged commit b6ff3b3 into main Oct 25, 2026
53 checks passed
@gouyt13
gouyt13 deleted the ci/simplify-validation branch October 25, 2026 14:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

release:build Release category managed from the PR title

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant