-
Notifications
You must be signed in to change notification settings - Fork 235
Description
CI Failure Investigation - Run #37182
Summary
Integration Integration: CLI Completion & Other fails because the live MCP registry test assumes every server entry has a description even though the production registry now returns a server without that field.
Failure Details
- Run: 22254242423
- Commit: b9550a5
- Trigger: push
Root Cause Analysis
go test of pkg/cli executes TestMCPRegistryClient_LiveSearchServers. That test’s search_all_servers subtest validates the first registry entry for non-empty name, description, and transport. The live MCP registry response now includes a server (microsoft/markitdown) whose Description field is empty, so the assertion t.Errorf("First server has empty description") fires and marks the test as failed even though the search otherwise succeeds. The integration job therefore exits with code 1 because of the brittle assumption about optional metadata.
Failed Jobs and Errors
- Integration: CLI Completion & Other –
go test ./pkg/cli -tags integration ...fails becauseTestMCPRegistryClient_LiveSearchServers/search_all_serverslogsmcp_registry_live_test.go:47: First server has empty descriptionwhile asserting that the first MCP registry entry contains a description. The package later reportsFAIL github.com/github/gh-aw/pkg/cli 7.624s.
Investigation Findings
- The CLI integration job runs the live MCP registry suite, and the failing log lines show the first server is named
microsoft/markitdownwith transportstdiobut no description. - The package-level failure is not due to a panic, race, or compile error—it directly follows the
t.Errorffrom the description validation. - Reproducing locally requires an open network path to the GitHub MCP registry:
go test -run TestMCPRegistryClient_LiveSearchServers -tags integration ./pkg/cli.
Recommended Actions
- Relax or remove the
Descriptionnon-empty assertion inpkg/cli/mcp_registry_live_test.goso that the integration suite tolerates live registry entries without descriptions and only issues warnings in that case.
Prevention Strategies
Treat optional metadata from live services as warnings, not requirements, in integration tests and focus assertions on fields guaranteed by the API contract.
AI Team Self-Improvement
When authoring live registry integration tests, mark fields that may legitimately be empty as optional and default to logging warnings instead of failing the test to keep CI resilient.
Historical Context
No previous [CI Failure Doctor] investigations match this pattern; this appears to be the first occurrence triggered by the live registry’s metadata change.
🩺 Diagnosis provided by CI Failure Doctor
To install this workflow, run
gh aw add githubnext/agentics/workflows/ci-doctor.md@ea350161ad5dcc9624cf510f134c6a9e39a6f94d. View source at https://github.com/githubnext/agentics/tree/ea350161ad5dcc9624cf510f134c6a9e39a6f94d/workflows/ci-doctor.md.
- expires on Feb 22, 2026, 9:24 AM UTC