Repository navigation
fix(cli): say when the Docker image build times out instead of blaming Docker - #5394
Merged
jrusso1020 merged 1 commit intoOct 13, 2026
Merged
Conversation
jrusso1020
approved these changes
Oct 12, 2026
jrusso1020
left a comment
Collaborator
There was a problem hiding this comment.
Approving at 9ca62fb7. Thanks!
- Timeout detection is right. On Node 22, an
execFileSynctimeout throws{code:"ETIMEDOUT", signal:"SIGTERM"}with stdio piped or inherited.isSpawnTimeout(error.cause)checks exactly that, and a build whose stderr merely contains the word "ETIMEDOUT" has nocode, so it isn't mistaken for a timeout. - Other failures keep the same regex, titles and hints as before.
- Tests: the new tests pass 3/3 and the render tests 98/98. Disabling the timeout branch fails the timeout test. Merges cleanly.
Two optional follow-ups:
- Removing
{ cause: error }inensureDockerImage(render.ts:716) fails no test, and the fix depends on that one line. A test throughensureDockerImagewith a mockedexecFileSyncwould cover it. - The hint could add that if one step alone takes more than 10 minutes, a rerun times out again.
— Rames
jrusso1020
enabled auto-merge
October 12, 2026 22:59
miguel-heygen
disabled auto-merge
October 12, 2026 23:01
Contributor
Author
|
The Windows engine-cli failure looks unrelated: |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
When the first
render --dockerbuild runs past its 10 minute limit, the CLI now says the build timed out and that running the command again continues from the layers Docker already built. Before, it said "Check Docker is running", which sends you looking in the wrong place.Why
On a small Docker VM (colima's default 2 CPUs) a first build can go past 10 minutes, and the old message made it look like Docker was down.
Related work
Fixes #5378.
How
The build error keeps the spawn error as its
cause, and a smalldescribeDockerBuildFailurepicks the title and hint from it. Missing Docker and other build failures keep the messages they had. The 10 minute limit stays the same; it just has a name now so the message can quote it.Test plan
Unit tests cover the timeout, missing Docker and any other build failure. I also built the CLI, set the limit to 3 seconds in the built file and forced an uncached amd64 build: the box now reads "Docker image build timed out" with the rerun hint. The rest of the CLI suite passes, except five whisper and file-watcher tests that fail the same way on main on this Mac.