v2.1.0#263
Closed
singaraiona wants to merge 5 commits into
Closed
Conversation
…threads Establish the dev -> master release process and remove the hand-maintained version literal as a source of drift. Release process (see RELEASE.md): - The git tag is the single source of truth for the version. Open a PR dev -> master titled vX.Y.Z; version-guard.yml validates the title is a clean, unused, strictly-increasing semver before merge; on merge, release.yml creates the tag, builds Linux+macOS artifacts (make dist) and publishes a GitHub Release. No source file is bumped and nothing is pushed to protected master -- only a tag + release, which GITHUB_TOKEN can do. - include/rayforce.h: version macros become #ifndef-guarded 0.0.0 fallbacks; the real value is injected at build via -D, derived from the tag or an explicit RAY_VERSION= override (Makefile), mirroring the existing GIT_COMMIT/BUILD_DATE injection. ray_version_string()/.sys.build follow. - Makefile: derive-or-override version, inject it, add `dist` packaging. - ci.yml: also run on dev so the integration branch stays green. Test CPU cap: - ray_pool_create's auto-default (n_workers==0) now honors RAYFORCE_CORES. The Makefile `test` target sets RAYFORCE_CORES=2 (TEST_CORES, overridable), so neither the in-process harness nor the ~30 servers it spawns via .sys.exec each create ncpu-1 threads on a many-core box (28 -> 3 threads per process here). Production (var unset) and explicit -c are unchanged.
A push to master only occurs via a merged PR, and the pull_request->master run already tested that exact merge result before the merge. The post-merge push run can't gate anything, so it was pure duplication. PRs into master (the gating check for releases) and pushes/PRs on dev are unchanged.
Goes green only when all four CI matrix legs pass. Uses if: always() + an explicit result check so a failed matrix leg fails (not skips) this job — a skipped required check can be treated as passed, which would open the gate. Branch protection on master should require ci-success + check-version instead of the brittle per-matrix names. RELEASE.md updated accordingly.
… OP_FILTERED_GROUP) Lift the `agg_v2_can_handle` selection blockade so WHERE-filtered group-bys route through the v2 engine instead of legacy exec_group. When g->selection is set, exec_group_v2 gathers the needed key + agg-input columns at the surviving-row indices into a compact table (via gather_by_idx, preserving type/nulls/SYM-domain) and runs the unmodified strategies on it — studied ../duckdb's in-place SelectionVector approach, but v2's dense-contiguous batch kernels make a single boundary gather the right fit. This is the prerequisite to deleting the benchmark-tuned OP_FILTERED_GROUP (not done here). Also fixes a latent legacy bug surfaced by the differential: by-group holistic median/top fill ignored a rowsel-carried selection (re-scanned all rows). v2 was correct; legacy now honors group_rowsel_pass. test(agg): replace the O(n^2) insertion-sort multiset comparator with qsort. On high-card (~30k-group) shapes it dominated the suite (diff_group_radix_2k_sum 345s -> 1s; full suite ~15min -> ~3.3min).
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.
No description provided.