ci: speed up CI - #113
Merged
Merged
Conversation
- docker: build with buildx + GHA layer cache + ccache on a BuildKit cache mount (persisted by buildkit-cache-dance), so the from-source deps (abseil, tbb, spdlog, jsoncpp, panman) and unchanged objects come from cache -- only changed sources recompile. OPTION_PORTABLE pins the ISA to x86-64-v3 so cached objects never SIGILL across heterogeneous runners. (Kept on PRs for now to validate cache warming; will restrict to push-only once proven.) - examples: split the three README demos (single-sample, --meta, --filter-and-assign) into separate ctest cases so `ctest -j` parallelizes them instead of one ~165s serial test; disjoint outputs make it race-free. - ctest: run with all cores (portable getconf _NPROCESSORS_ONLN).
The unit suite rebuilt the same k=15/s=8/t=0/l=1 rsv_4K index 4x and reloaded the 725KB panman ~6x -- the dominant per-case cost. Add a lazily-built, shared, read-only sharedRSVFixture()/sharedRSVIndex() (Boost.Test runs a binary's cases serially, so one build is safely reused) and point the read-only index/placement cases at it. The block-inversion case mutates the tree, so it keeps its own build. - offset / delta / all-metrics / litetree / parallel-seq -> shared index (7 builds -> 3). - index_parameters_persisted builds its non-default 19/6/3 index over the shared tree, skipping a second fixture load. - zstd_roundtrip_identity: shrink the 5MB incompressible buffer to 1MB. Local unit suite 46s -> 20s; all 20 cases + e2e + the 3 split example demos pass. No tests dropped -- the audit found none redundant or unhelpful; this is pure fixture-sharing, so coverage is unchanged.
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.
Speeds up CI