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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions