Skip to content

fix: resolve scheduled live and e2e CI failures on main#98686

Closed
LZY3538 wants to merge 1 commit into
openclaw:mainfrom
LZY3538:fix/ci-scheduled-e2e-failures
Closed

fix: resolve scheduled live and e2e CI failures on main#98686
LZY3538 wants to merge 1 commit into
openclaw:mainfrom
LZY3538:fix/ci-scheduled-e2e-failures

Conversation

@LZY3538

@LZY3538 LZY3538 commented Jul 1, 2026

Copy link
Copy Markdown
Contributor

What Problem This Solves

The nightly "OpenClaw Scheduled Live And E2E Checks" workflow has been failing consistently since 2026-06-28, causing CI emails for every scheduled run. Two distinct regressions were found.

Why This Change Was Made

Issue 1: model-fallback e2e test — FallbackSummaryError instead of AbortError

Commit 98ed83f replaced the shouldRethrowAbort(err) guard in runFallbackCandidate with isCallerAbortSignal(params.abortSignal). The new guard checks whether the abort signal object passed to runWithModelFallback is aborted, rather than checking the error name. However, the test helper runEmbeddedFallback only forwarded abortSignal to runEmbeddedAgent via the run callback closure — it never passed it to runWithModelFallback itself. With the signal absent, isCallerAbortSignal always returned false, and the AbortError fell through to the fallback loop where it was eventually wrapped as a FallbackSummaryError.

Fix: Add abortSignal: params.abortSignal to the runWithModelFallback call in runEmbeddedFallback.

Issue 2: gateway tests — Agent "dev" no longer exists in configuration

A new deleted-agent validation check now rejects gateway requests whose session key references an agent not in the config list. Several test configs used agent:dev session keys without including a "dev" entry in agents.list.

Fix:

  • Added agents.list: [{ id: "dev", default: true }] to the gateway.test.ts e2e config
  • Made buildLiveGatewayConfig default to a "dev" agent when the input config has no agents configured, fixing the gateway-models.profiles.live.test.ts live suites

User Impact

Scheduled CI checks return to green. No production code changes.

Evidence

  • pnpm test src/agents/model-fallback.run-embedded.e2e.test.ts — 20/20 passed (was 19/20)
  • pnpm test src/gateway/gateway.test.ts — 4/4 passed (was 3/4)
  • pnpm format:check — all modified files pass
  • The buildLiveGatewayConfig change is purely additive (only kicks in when agents list is empty) and all existing tests continue to pass

🤖 Generated with Claude Code

Fix two issues causing the nightly scheduled CI checks to fail since 2026-06-28:

1. model-fallback e2e: pass abortSignal to runWithModelFallback so the new
   isCallerAbortSignal guard in runFallbackCandidate can detect caller-initiated
   aborts. Previously only runEmbeddedAgent received the signal via the run
   callback closure; runWithModelFallback never saw it, so the new guard
   silently treated every abort as a provider-side error and fell through
   to the fallback loop, eventually surfacing FallbackSummaryError.

2. gateway tests: add a dev agent entry to test configs that reference
   agent:dev session keys. The gateway now rejects requests for agents not
   in the config list. Also make buildLiveGatewayConfig default to a dev
   agent when the input config has no agents configured.

Co-Authored-By: Claude <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

agents Agent runtime and tooling gateway Gateway runtime size: XS

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant