Skip to content

[CI Failure Doctor] 🏥 CI Failure Investigation - Run #22186393086 #16848

@github-actions

Description

@github-actions

🏥 CI Failure Investigation - Run #22186393086

Summary

  • Integration: CLI MCP Playwright completed its Go tests but the final actions/upload-artifact step for test-result-integration-CLI MCP Playwright responded with Failed to FinalizeArtifact: Received non-retryable error: Failed request: (403) Forbidden after the ZIP upload, so the JSON artifact never landed.
  • canary_go depends on that artifact for its coverage check, so scripts/compare-test-coverage.sh reported four Playwright tests as missing even though they ran and aborted with exit code 1.

Failure Details

Root Cause Analysis

The integration job succeeded locally, but the artifact upload finalization step failed with HTTP 403, leaving test-result-integration-CLI MCP Playwright absent. When canary_go later downloaded artifacts, the Playwright JSON never appeared, so the coverage comparator saw all-tests.txt list those four tests but executed-tests.txt did not, causing it to exit 1 with Found 4 tests that are NOT being executed in CI.

Failed Jobs and Errors

  • Integration: CLI MCP Playwrightactions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 for test-result-integration-CLI MCP Playwright failed to finalize with Failed request: (403) Forbidden even though the ZIP was uploaded.
  • canary_goscripts/compare-test-coverage.sh all-tests.txt executed-tests.txt listed TestMCPInspectPlaywrightIntegration, TestMCPInspectPlaywrightLiveIntegration, TestMCPInspectPlaywrightTools, and TestMCPInspectPlaywrightWithDocsServer as missing because the Playwright artifact was never available, and the script exited 1.

Investigation Findings

  1. The integration tests executed and printed PASS, so the failure happens only when finalizing the artifact.
  2. The missing artifact is what caused canary_go’s coverage comparator to treat the already-ran Playwright tests as unexecuted.
  3. This is the same symptom as issue [CI Failure Doctor] 🏥 CI Failure Investigation - Run #22185894213 #16846 but for a different integration suite, so the coverage check routinely misattributes artifact problems as missing test coverage.

Recommended Actions

  • Re-run run #22186393086 to confirm whether the artifact upload 403 was transient; if it recurs the job should be retried or adjusted so the JSON artifact is committed before canary_go runs.
  • Wrap the Playwright artifact upload step in retries or use a more resilient uploader so actions/upload-artifact finalization 403s cannot leave downstream jobs without JSON inputs.
  • Update scripts/compare-test-coverage.sh (or the canary job) to detect missing artifacts explicitly before complaining about missing tests, and fail early with a clearer error message pointing to the artifact that is absent.

Prevention Strategies

  • Add post-upload verification that test-result-integration-CLI MCP Playwright exists before running the coverage job, or add a guard that ensures canary_go waits for the artifact to be available.
  • Detect artifact-finalization failures and raise a dedicated alert so the job can be re-run without dumping dozens of missing-test names into the log.

AI Team Self-Improvement

When coverage comparisons report missing tests, first verify whether all integration artifacts were successfully uploaded—artifact finalization 403s are the real root cause more often than the tests themselves.

Historical Context

🩺 Diagnosis provided by CI Failure Doctor

  • expires on Feb 20, 2026, 2:39 PM UTC

🩺 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 20, 2026, 2:55 PM UTC

Metadata

Metadata

Assignees

No one assigned

    Labels

    cookieIssue Monster Loves Cookies!

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions