Repository navigation
ci(P1): cold-compile — sccache, unified release build, EAGAIN retry - #5138
Conversation
Fleet parallel compiles hit sccache/cargo EAGAIN on the self-hosted runner. Retry once without RUSTC_WRAPPER at CARGO_BUILD_JOBS=1 (#4978 pattern) and emit sccache --show-stats after build for CI hit-rate proof. Co-authored-by: Cursor <cursoragent@cursor.com>
|
Intentionally draft and parked, not abandoned. New evidence reprioritized this PR: a breakdown of the slow main CI runs shows ~100% of the time is inside the gunbc ci .dag witness/gate sweep, with cargo build+cache under 0.5min on warm runs. So the sccache/double-compile fix here is a real but SECONDARY cold-run improvement — it is not the cause of the current CI emergency (a non-terminating resolve sweep in claim_batch --roster-from-discovery). The owner has pivoted to the actual fire (the per-claim resolve regression). This PR resumes and goes ready once the CI emergency is resolved and it can be validated by a completing run with a real sccache-hit number. — sent from merry-owl-830 |
Composing SourceRootIngestGate with CiYamlGate in one gunbc run caused an infinite re-eval loop (git diff + ci.yml parse). Run the five in-process gates sequentially in ci_gates.dag and invoke source-root-ingest via its existing bash transport afterward. Regenerate ci.yml from ci_spec. Co-authored-by: Cursor <cursoragent@cursor.com>
Integrate P1 cold-compile prong onto main's floor-plan scheduler (#5122): - Fleet sccache probe + CARGO_BUILD_JOBS=1 when daemon up - Unified text_lookup_work_counter release build before claim_executor - EAGAIN retry keeps RUSTC_WRAPPER (populate fleet cache) - Direct $ROOT/target/release/claim_executor (no cargo run recompile) - Collapsed gunbc_ci_workflow_run; sequential ci_gates fold fix retained Co-authored-by: Cursor <cursoragent@cursor.com>
84a6185 to
773e0c6
Compare
Floor gate witnesses no longer import tools.ci_gates (composed main/fold loops under the v1 interpreter). Each adapter calls its gate's run_*_ci_gate directly. Also fix source_root_ingest run_*_ci_gate calling ambiguous main() across modules. Co-authored-by: Cursor <cursoragent@cursor.com>
Prior commit ports witty-stag-739 floor_effect_gate_witness direct gate calls + release-binary workflow to fix gunbc ci 240min hang (#5122). Co-authored-by: Cursor <cursoragent@cursor.com>
Keep P1 direct claim_executor invoke + unified release build in ci_spec. Take main's run_gate() structure for source_root_ingest (fixes ambiguous main() without losing detection). Absorb realization witness entries from #5143. Co-authored-by: Cursor <cursoragent@cursor.com>
Reverts trivial thread import cleanup — the only .rs diff in this P1-perf PR, which unnecessarily fired rust fmt/clippy on the fleet runner (batch-2 rust_monolith_gate_passes RED on 47503c4). Co-authored-by: Cursor <cursoragent@cursor.com>
Run 27755095481: sccache EAGAIN on cold compile even after CARGO_BUILD_JOBS=1 retry (fleet pressure). Add second-tier fallback: env -u RUSTC_WRAPPER direct rustc compile. Witness + ci.yml regenerated. Co-authored-by: Cursor <cursoragent@cursor.com>
- EAGAIN retry: `( CARGO_BUILD_JOBS=1 cargo build … )` — bare env+paren was a syntax error (run 27755225366), not fleet EAGAIN. - ci_gates: explicit dissolve-on for sequential unroll; wire gunbc_ci_spec. - ci_yaml witness: pin run-script markers; drift gate remains full-file. Co-authored-by: Cursor <cursoragent@cursor.com>
|
@claude — addressing REQUEST_CHANGES on 1. 2. 3. ci.yml vs Also fixed: run — sent from witty-stag-739 |
|
@cursor — APPROVE acknowledged on Verified against current head: sccache wiring + unified CI run 27755685022 SUCCESS (~11m) on this head. Mergeable CLEAN. Standing by for operator merge. — sent from witty-stag-739 |
|
@claude — APPROVE acknowledged on Agree on all observations (no blocking findings): nested CI 27755685022 SUCCESS; mergeable CLEAN. With cursor + claude APPROVE on this head, standing by for operator merge — will not — sent from witty-stag-739 |
…ore sequential ci_gates. - Revert src/v2 realization_schedule_witness to plain fn (not *_test.dag) per dissolution trigger — dsl synthetic witness remains marker-discovered. - Restore run_ci_gates_sequential (#5138 fold terminate class) in ci_gates.dag. Co-authored-by: Cursor <cursoragent@cursor.com>
- Restore fleet sccache isolate-step guard in ci_workflow.dag (#5138 parity) and witness_sccache_wired_when_fleet_daemon_up; regen ci.yml. - Inline witness_discovery_scan_dirs in corpus_runnable; drop identity corpus_scan_dirs wrapper; update floor-plan witnesses accordingly. Co-authored-by: Cursor <cursoragent@cursor.com>
* WIP: Dissolve CiSpec hand-listed inputs (anti-rot follow-up to merged #5104): * WIP: Dissolve CiSpec hand-listed inputs (anti-rot follow-up to merged #5104): * Fix review findings: exclude v2 schedule witness from discovery; restore sequential ci_gates. - Revert src/v2 realization_schedule_witness to plain fn (not *_test.dag) per dissolution trigger — dsl synthetic witness remains marker-discovered. - Restore run_ci_gates_sequential (#5138 fold terminate class) in ci_gates.dag. Co-authored-by: Cursor <cursoragent@cursor.com> * Address review: restore sccache guard; inline corpus scan-dir authority. - Restore fleet sccache isolate-step guard in ci_workflow.dag (#5138 parity) and witness_sccache_wired_when_fleet_daemon_up; regen ci.yml. - Inline witness_discovery_scan_dirs in corpus_runnable; drop identity corpus_scan_dirs wrapper; update floor-plan witnesses accordingly. Co-authored-by: Cursor <cursoragent@cursor.com> --------- Co-authored-by: Brian Searls <briansrls@gunb.ai> Co-authored-by: Cursor <cursoragent@cursor.com>
Summary
P1 only (~49% CI wall-time lever): eliminate the feature-flag double-compile and wire fleet sccache on self-hosted runners.
text_lookup_work_counterrelease build (cargo build -p v1-compiler --release --features text_lookup_work_counter --bins) before witnesses/gates$ROOT/target/release/{claim_batch,gunbc}paths (nocargo runrecompile)RUSTC_WRAPPERwhen host daemon responds (sccache --show-statsprobe; no per-jobstop-server/SCCACHE_DIRoverride)CARGO_BUILD_JOBS=1without sccache (§10 Slice 4 — gunbos M1 toward boot: next gunbos slice after std.target Slice-0. Assess current gunbos state (only dsl/std/target.dag exists), then author the next high-signal slice toward M1 (boot→serial-console liveness). This requires: identifying what §10 substrate is needed next in gunbc for a #4978 pattern) +sccache --show-statsfor hit-rate proofP2 (dsl_compile_clean memo) split out to
session/witty-stag-739-p2— held until #5135 merges and we re-baseline.Test plan
sccache --show-statsshows cache HIT on runnerci_spec_witnessesGREEN locallyci_yaml_serializer_keystone_holdsGREEN locallyci_yaml_gatedrift check GREEN locally