Skip to content

[CI Failure Doctor] CI Failure Investigation - Run #35704 #15713

@github-actions

Description

@github-actions

🏥 CI Failure Investigation - Run #35704

Summary

The push that introduced the ST1005 change failed because (1) the integration suite expects a Docker daemon that isn’t running on the hosted runner and (2) several JavaScript handlers now reference temporaryId/title without declaring them, so the TypeScript build fails.

Failure Details

Root Cause Analysis

  1. TestValidateContainerImages/valid_container_image runs inside Integration: Workflow Actions & Containers. It calls validateDockerImage, which immediately fails with docker daemon not running - could not validate container image 'alpine:latest'. That error propagates to the test because the runner’s Docker daemon is not responsive, so the integration job cannot complete.
  2. tsc compilation (jobs js and js-integration-live-api) now fails because create_discussion.cjs and create_project.cjs reference temporaryId in the staged-mode preview without ever defining it, and create_project_status_update.cjs references title in the preview object even though no such variable exists in scope.

Failed Jobs and Errors

  • Integration: Workflow Actions & Containers (job link) – TestValidateContainerImages/valid_container_image logs validation_test.go:80: unexpected error: [...] Validation failed for field 'container.images' followed by tool 'test-tool': docker daemon not running - could not validate container image 'alpine:latest'. Start Docker Desktop or remove container-based tools.
  • js (job link) – TypeScript errors TS2552: Cannot find name 'temporaryId'. Did you mean 'temporaryIdMap'? (in create_discussion.cjs at line 535) and TS2552 for create_project.cjs, plus TS18004: No value exists in scope for the shorthand property 'title' (in create_project_status_update.cjs at line 378).
  • js-integration-live-api (job link) – same TypeScript errors as the js job.

Investigation Findings

  • The integration test suite assumes the Docker daemon is running when validating container images. On the runner used for this workflow, validateDockerImage immediately errors with the daemon-not-running message (see pkg/workflow/docker_validation.go). Because TestValidateContainerImages/valid_container_image is marked as expectError: false, the test now fails whenever Docker cannot be contacted.
  • The new TypeScript errors are deterministic: create_discussion.cjs and create_project.cjs write staged-mode preview info containing temporaryId even though that identifier is never declared in those modules, and create_project_status_update.cjs tries to include title in previewInfo without assigning it. tsc treats these as compile errors, so all JS jobs abort before running.

Recommended Actions

  • Ensure the hosted runner either starts a Docker daemon before running pkg/workflow integration tests or gates TestValidateContainerImages/valid_container_image on a successful docker info check (see pkg/workflow/docker_validation.go). Without a daemon the test will always fail.
  • Update the JS safe-output handlers so staged-mode previews refer only to declared variables: introduce a temporaryId in create_discussion.cjs/create_project.cjs (e.g., using generateTemporaryId()/normalized values) and provide the title string in create_project_status_update.cjs before referencing it in the preview object.

Prevention Strategies

  • Add a pre-flight check before running integration suites that depend on Docker (or skip the suite) so we fail fast with a clear skip instead of a test failure when the daemon is down.
  • Run npm run lint/npm run tsc locally (or hook it into CI prechecks) before touching JavaScript handlers so missing identifiers are caught before the workflow executes.

AI Team Self-Improvement

  • Before pushing changes that touch Docker validation, verify the runner can reach the Docker daemon or add logic to skip the integration tests when the daemon is unavailable.
  • When editing JS safe-output handlers, run the TypeScript build (npm run lint/npm run tsc) to catch references to undefined locals such as temporaryId or title.

Historical Context

A search for [CI Failure Doctor] issues found the most recent open investigation at run #35694 (#15700), which documents unrelated lint-go/Integration: CLI Completion & Other failures. No existing issue covers run #35704.

🩺 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 15, 2026, 4:50 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