Repository navigation
ci: simplify fan-out and promote sharded macOS coverage - #3276
Merged
Hillary Mutisya (hillary-mutisya) merged 12 commits intoNov 10, 2026
Merged
Hillary Mutisya (hillary-mutisya) merged 12 commits into
Hillary Mutisya (hillary-mutisya) merged 12 commits into
Conversation
Preserve late dispatcher cleanup, enforce a shared workspace deadline with process-tree cleanup, and keep original failures blocking. Add macOS-only branch qualification with the nightly budgets without changing PR defaults. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Compare real CLI entry paths, retain import-only behavior, and add stage-specific credential-safe fixture process diagnostics without retries. Preserve the existing optional pnpm availability probe. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Measure exact-source setup, artifact and build stages without changing test inventories or production cache defaults. Add an Azure full-versus-CLI/shell dependency-closure comparison, preserving authentication and test gates. Bootstrap pinned standalone pnpm rather than enabling Corepack. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Avoid requiring a user-global pnpm bin directory on fresh Windows/Linux agents. Configure the store and CPU-based workspace concurrency explicitly at project scope, and exercise the real pinned pnpm CLI in an isolated regression that preserves user configuration. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Separate profiling records from native probe mocks and cover both profiling modes through bounded retries. Canonicalize aliased deadline fixtures and report ingestion state and progress without increasing the polling budget. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Retain actual ingestion, current-revision assertions and indexed retrieval limits without generating an unrelated wiki. Preserve the dedicated source-following lifecycle scenarios. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Restore uninstrumented setup, artifact operations and build commands while retaining the existing native-cache/retry policies, coverage and reliability fixes. Keep Azure smoke profiling and validate that inherited profiling flags cannot instrument GitHub artifacts. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Run four full-package macOS lanes per runtime with sequential packages and one heavy workload per lane. Preserve exact package scripts, retries, roots, approved deadlines and fail-closed collectors. Keep ordinary PR coverage and nightly scheduling unchanged, with the existing manual legacy rollback. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Use full-package macOS lanes for scheduled coverage, retire legacy and duplicate control execution, and introduce the TypeScript CI aggregate with temporary required-check aliases. Preserve optional cache settings and Node 22 support while qualifying Node 24/26. Wire structured Node test failures into existing retries and retain bounded native pipe startup diagnostics without weakening readiness or identity assertions. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Use the shared Jest configuration so CLI assertion failures reach the existing workspace retry harness. Reject killed or timed-out CLI child processes with bounded stdout/stderr and signal diagnostics instead of falsely returning exit zero; preserve the 30-second deadline and dry-run assertions. Add real killed-child and Jest failure-artifact regressions. Hosted Ubuntu runner communication loss remains an unconfirmed infrastructure failure, not a basis for speculative resource tuning. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Reuse a closed consolidation baseline and exclude unrelated discovery while retaining real interrupted-effect recovery, privacy and restart assertions. Bound shared polling and individual reads, preserve last-state diagnostics, and reuse durable-build waits across service and MCP fixtures. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Merge current main without rewriting the validated feature history. Preserve main stdin closure and process-error causes alongside bounded subprocess diagnostics and the shared failure reporter, retaining one timeout regression. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
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.
Summary
Motivation
Full macOS runs were taking hours and sometimes outliving their useful test results. Rollout-only execution paths also made the PR graph harder to understand. Hosted qualification exposed additional fixture and reporting problems that obscured failures or coupled deterministic tests to unrelated maintenance work.
This branch addresses those reliability and orchestration costs without dropping the existing test inventory or increasing retry allowances. The accepted rollout does not depend on another one-off performance-comparison campaign.
Behavior and configuration
macos_qualification=true, build once per runtime and run all 82 package scripts across four lanes. Each lane contains one heavy package: dispatcher, default agent provider, memory service or memory MCP server. Package scripts remain sequential within a lane, with existing lifecycle/chained checks and retries preserved.fanout_experiment/fanout_include_controlsselectors. Production entrypoints are nowci-fanout.ymlandciFanout.mjs.smokeBuildScope=smoke-closureremains an explicit opt-in measurement, preserving CLI/shell checks and authentication/fork protections. Install the pinned standalone pnpm and scope store/concurrency configuration to the project.Reviewer guide
ciFanouttests: complete package/script inventory, source/toolchain provenance and no missing or duplicate work.Validation
Current PR head:
dff20dc543bcc2ee546c8b373b0525dd209de35e.Main integration and current-head validation
PR creation exposed one conflict with main in the workflow CLI test. With owner approval,
3c11e6491was merged into the feature branch without rewriting history. The resolution preserves main's stdin closure, killed/signal handling and original error cause alongside this branch's bounded diagnostics and shared Jest reporter. One equivalent timeout regression is retained rather than duplicating both versions.At
dff20dc54, the full build passed (64.969 seconds), all 12 CLI tests and 62 shared-config/reporter/retry contracts passed, and full-branch formatting plus all four committed-HEAD ratchets passed againstorigin/main(merge-base3c11e6491). The new PR-triggered checks must still finish.The following larger memory selections and branch dispatches qualified the preceding implementation head, not the subsequent main-integration commit.
Hosted sanity at preceding implementation head
3f0efc4aeBoth dispatches used disabled optional caches/compact artifacts and compression 6. They are hosted offline CI qualification, not provider-backed live integration. PR-triggered checks and external smoke/.NET/policy checks are separate and must still complete.
Local implementation validation at
3f0efc4aeWindows, Node 26.13.0, standalone pnpm 11.9.0; existing dependencies, no Corepack. Import the PowerShell profile before commands. Local package scripts used
pnpm_config_verify_deps_before_run=falseto avoid an implicit dependency reinstall; focused Jest runs usedCI=true.pnpm run buildfromts: passed (83.221 seconds).ts/packages/memory/service:wikiConsolidationRecovery.specruns passed all six cases each.ts/packages/memory/mcp-server:origin/main, after the final commit:Earlier targeted reporter, retry, lane/inventory, process-cleanup and fixture regressions also passed during implementation; the two final hosted qualifications exercise the pre-merge implementation head. No tests were newly skipped.
Risks, limitations and rollout
build_ts (OS, Node)aliases in this PR. Merge under the existing required contexts, verify the deployed aggregate on ordinary main/PR/merge-group runs, then coordinate replacement of only those six contexts with TypeScript CI. Preserve all unrelated required checks and policy. Remove aliases in a separate follow-up after the ruleset cutover.