Repository navigation
Fix benchmark launcher staging and consolidate audit preparation - #999
Merged
Merged
Conversation
This was referenced Oct 10, 2026
helly25
force-pushed
the
fix/compile-database-source-query
branch
from
October 10, 2026 12:07
f9f8c2f to
2e3e789
Compare
helly25
enabled auto-merge (squash)
October 10, 2026 12:14
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.
Fix native benchmark-launcher staging and stop compile-database indexing from claiming completeness after a failed source query. These checks protect the measurements and tooling used to evaluate scheduler changes.
Also record the stage-specific concurrency, admission-tuning and low-overhead analysis follow-up, without changing scheduling behavior or introducing flags. This consolidates the already-green #999/#1002 preparation and the newly reproduced main-only workflow fix into one validation cycle.
AG;DR
Consolidation and scope
f9f8c2fa5e3e5c8930a94dfc625764c9522d3021onto merged main88d4facd15ebd00acf749222b3028de2e8916970. Its rebased patch ID matches the original.cc7b0dec173a68251c216e06b131fbbf18634061into this branch. Its original TODO/design blobs were verified identical before adding JC07/JC08 below. Record stage-specific concurrency and execution scheduling follow-up #1002 was closed as superseded on 2026-10-10 at 12:44:10 UTC after this PR actually merged and its complete tree/doc preservation was verified; the original branch is retained.2e3e789693f38a5f6e7fee4ffe209b6b2f7710ad; tree:38d5ecc9e1789f0f0a187960c24daee1f7884da0. The clean three-commit batch descends directly from the actual current main, not an obsolete stacked base.Main-only native-launcher finding and fix
The post-#994 main Benchmarks run 38049489783 failed on both Ubuntu and macOS at
Build paired optimized revisions. The five requested targets built successfully; the subsequent native-launcher query performed no build actions andcpcould not find the queried top-level output. This was a deterministic staging failure, not a network issue or failed historical build. The main-only paired workflow was not exercised by the otherwise-green PR Test workflow.The Python driver's dependency can build the native helper under a transitioned configuration instead of the top-level configuration being copied. Locally, building only
//tools:benchmark_resourcesproducedbazel-out/k8-opt-ST-f38e6014d46d/bin/tools/process_resources_native, whilebazel-out/k8-opt/bin/tools/process_resources_nativeremained missing. An unqualified query also returned both cached configured outputs. Restricting the universe alone did not eliminate that ambiguity in the same graph; the explicit configuration selector did.//tools:process_resources_nativeto the main paired build's existing target list, with the same release/cache options. PR and hosted-backfill builds already request it explicitly.config(//tools:process_resources_native, target)so the copied path identifies the top-level configuration explicitly. This is not a guessed output path or selection of the first line from an ambiguous query.Fail-closed compile-source collection
The original audit found that
compile_commands-update.shsuppressed a failing core query's diagnostics and swallowed the pipeline failure with|| true. It continued with only 110 extra-module sources and reported zero missing/OK. The direct invalid core query returned exit 7 with a missing-target error. That partial result is not valid completeness evidence.tools/collect_compile_sources.sh, with the updater's existing core/extra/API patterns and first-party label filter.mktemp; document the contributor workflow.Scheduling insight and actionable TODOs
The folded design/TODO change records work, not an implemented or settled API:
--jobs-*family for directory I/O, matching/comparison and external execution. Leave aggregate ceiling versus fallback, caller-inclusive budgets, defaults,all, repeated overrides and INI semantics open.Validation
/usr/bin/truethrough the copy succeeded. Native command exit/output/diagnostics were checked, and measured child RSS was nonzero.benchmark_history_test,process_resources_test,benchmark_backfill_test,benchmark_compare_test, andcollect_compile_sources_test. The history suite contains 28 tests including the new cross-workflow guard.bazel run //tools:repository_tooling_testpasses all five repository-wide checks../compile_commands-update.shsucceeds on this combined branch: 294 expected first-party sources, zero missing. This executes the final fail-closed collection stage, not merely the collector's isolated tests.38050820172completed successfully: 30 terminal check runs (26 success/four adaptive skips), successful Snyk, and no nonterminal checks. The old green PR runs were not reused as the strict-base merge gate.Portability and limitations
The workflow fix is shared by Linux/macOS matrices, uses the pinned Bazel configuration selector and existing Bash/copy/build options, and changes no platform-specific launcher code. The source collector uses existing Bash,
mktemp, POSIX awk and narrow cleanup, not GNU-only file-processing options. Both controls passed the exact-head ordinary cross-platform CI, including the macOS test and all six benchmark shards. The actual post-merge main-only paired benchmark jobs now pass on both platforms at squashbbc0bf9376c7fc41fe75094998c3c7e74bd02e94: Ubuntu job114215537420completed successfully at 13:01:20 UTC, and macOS job114215537237at 13:03:43 UTC on 2026-10-10. Their explicit native-helper build/query/copy steps and subsequent paired measurements succeeded. Terminal job/step metadata and literal timestamped command excerpts are retained under/tmp/xff-main-bbc0bf9-launcher-evidence/; cquery's resolved path is captured in a shell variable and is not printed, so no observed path value is claimed. Both post-merge main workflows are now terminal-success on that exact squash: Test38052921500completed at 13:20:48 UTC (24 jobs: 15 success, nine configured benchmark skips), and Benchmarks38052921577completed at 13:38:15 UTC (15 jobs: 11 success, four optional shard skips). Full paginated inventories confirm no nonterminal jobs; both paired builds, all six measurement shards, both agreement checks and aggregation succeeded. Terminal run summaries and complete job inventories are retained alongside the launcher evidence. This establishes actual Linux/macOS workflow execution, not native M5 Pro performance; a subsequent publication deployment has not been verified.Workflow-text guards are regression guards, not substitutes for actual build/copy execution. The compile-source universe remains Bazel's declared graph rather than independent compiler-semantic proof. Extraction may already have written a database before the last query fails, but the command returns failure instead of announcing completeness. Legitimately empty queries remain valid.
This PR does not accept a scheduler optimization, implement analysis/flags, repair the 47 persistent full-stack Linux advisories, or claim M5 Pro/slow-storage performance. Frozen audit drivers, retained historical binaries and completed native collections remain unchanged. The batch used one consolidated exact-lease push. No unnecessary child rebases, old-head CI reruns or extra workflow dispatches were triggered.
Actual merge identity
The user-approved CI-gated squash auto-merge completed on 2026-10-10 at 12:42:02 UTC as
bbc0bf9376c7fc41fe75094998c3c7e74bd02e94. Its parent is88d4facd15ebd00acf749222b3028de2e8916970, and its tree is exactly the validated combined tree38d5ecc9e1789f0f0a187960c24daee1f7884da0. Root fetched only the main tracking ref and verified a zero-difference comparison against head2e3e789693f38a5f6e7fee4ffe209b6b2f7710ad, including final documentation bytes. No frozen/dirty worktree was checked out or modified during that sync. The earlier previewmerge_commit_shavalue was not treated as an actual merge.