-
Notifications
You must be signed in to change notification settings - Fork 219
Description
🏥 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
TestValidateContainerImages/valid_container_imageruns insideIntegration: Workflow Actions & Containers. It callsvalidateDockerImage, which immediately fails withdocker 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.tsccompilation (jobsjsandjs-integration-live-api) now fails becausecreate_discussion.cjsandcreate_project.cjsreferencetemporaryIdin the staged-mode preview without ever defining it, andcreate_project_status_update.cjsreferencestitlein the preview object even though no such variable exists in scope.
Failed Jobs and Errors
Integration: Workflow Actions & Containers(job link) –TestValidateContainerImages/valid_container_imagelogsvalidation_test.go:80: unexpected error: [...] Validation failed for field 'container.images'followed bytool '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 errorsTS2552: Cannot find name 'temporaryId'. Did you mean 'temporaryIdMap'?(increate_discussion.cjsat line 535) andTS2552forcreate_project.cjs, plusTS18004: No value exists in scope for the shorthand property 'title'(increate_project_status_update.cjsat line 378).js-integration-live-api(job link) – same TypeScript errors as thejsjob.
Investigation Findings
- The integration test suite assumes the Docker daemon is running when validating container images. On the runner used for this workflow,
validateDockerImageimmediately errors with the daemon-not-running message (seepkg/workflow/docker_validation.go). BecauseTestValidateContainerImages/valid_container_imageis marked asexpectError: false, the test now fails whenever Docker cannot be contacted. - The new TypeScript errors are deterministic:
create_discussion.cjsandcreate_project.cjswrite staged-mode preview info containingtemporaryIdeven though that identifier is never declared in those modules, andcreate_project_status_update.cjstries to includetitleinpreviewInfowithout assigning it.tsctreats 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/workflowintegration tests or gatesTestValidateContainerImages/valid_container_imageon a successfuldocker infocheck (seepkg/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
temporaryIdincreate_discussion.cjs/create_project.cjs(e.g., usinggenerateTemporaryId()/normalized values) and provide thetitlestring increate_project_status_update.cjsbefore 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 tsclocally (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 astemporaryIdortitle.
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