Skip to content

dockerexec: negotiate Docker API version#1042

Merged
sourishkrout merged 1 commit intomainfrom
dev/jlewi/fixci
Feb 18, 2026
Merged

dockerexec: negotiate Docker API version#1042
sourishkrout merged 1 commit intomainfrom
dev/jlewi/fixci

Conversation

@jlewi
Copy link
Contributor

@jlewi jlewi commented Feb 13, 2026

CI appears to have started failing.
https://github.com/runmedev/runme/actions/runs/21955632206/job/63477672958

Error is.

--- FAIL: TestDockerCommand (0.00s)
    command_docker_test.go:22: 
        	Error Trace:	/home/runner/work/runme/runme/command/command_docker_test.go:22
        	Error:      	Received unexpected error:
        	            	Error response from daemon: client version 1.43 is too old. Minimum supported API version is 1.44, please upgrade your client to a newer version
        	            	github.com/runmedev/runme/v3/internal/dockerexec.(*Docker).pullImage
        	            		/home/runner/work/runme/runme/internal/dockerexec/docker.go:101
        	            	github.com/runmedev/runme/v3/internal/dockerexec.(*Docker).buildOrPullImage
        	            		/home/runner/work/runme/runme/internal/dockerexec/docker.go:90
        	            	github.com/runmedev/runme/v3/internal/dockerexec.New
        	            		/home/runner/work/runme/runme/internal/dockerexec/docker.go:49
        	            	github.com/runmedev/runme/v3/command.TestDockerCommand
        	            		/home/runner/work/runme/runme/command/command_docker_test.go:21
        	            	testing.tRunner
        	            		/opt/hostedtoolcache/go/1.25.7/x64/src/testing/testing.go:1934
        	            	runtime.goexit
        	            		/opt/hostedtoolcache/go/1.25.7/x64/src/runtime/asm_amd64.s:1693
        	Test:       	TestDockerCommand
FAIL

Guessing the docker version used in our images got updated but our go code is pinning to a specific version.

@jlewi
Copy link
Contributor Author

jlewi commented Feb 17, 2026

@sourishkrout PTAL

@sourishkrout
Copy link
Contributor

@sourishkrout PTAL

Thanks. I've been meaning to address this issue.

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR fixes a CI test failure caused by Docker API version mismatch. The GitHub Actions environment upgraded its Docker daemon to require API version 1.44, but the code was hard-coded to use version 1.43, resulting in a "client version 1.43 is too old" error.

Changes:

  • Replaced hard-coded Docker API version with automatic version negotiation
  • Updated comment to clarify the rationale for the change and fixed a typo

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@sourishkrout sourishkrout self-requested a review February 17, 2026 23:49
Signed-off-by: Jeremy lewi <jeremy@lewi.us>
@sourishkrout sourishkrout requested review from sourishkrout and removed request for sourishkrout February 18, 2026 02:29
@sourishkrout
Copy link
Contributor

LGTM ✅

@sourishkrout sourishkrout merged commit 02b3578 into main Feb 18, 2026
9 of 11 checks passed
@sourishkrout sourishkrout deleted the dev/jlewi/fixci branch February 18, 2026 02:31
sourishkrout pushed a commit that referenced this pull request Feb 20, 2026
CI appears to have started failing.

https://github.com/runmedev/runme/actions/runs/21955632206/job/63477672958

Error is.

```
--- FAIL: TestDockerCommand (0.00s)
    command_docker_test.go:22: 
        	Error Trace:	/home/runner/work/runme/runme/command/command_docker_test.go:22
        	Error:      	Received unexpected error:
        	            	Error response from daemon: client version 1.43 is too old. Minimum supported API version is 1.44, please upgrade your client to a newer version
        	            	github.com/runmedev/runme/v3/internal/dockerexec.(*Docker).pullImage
        	            		/home/runner/work/runme/runme/internal/dockerexec/docker.go:101
        	            	github.com/runmedev/runme/v3/internal/dockerexec.(*Docker).buildOrPullImage
        	            		/home/runner/work/runme/runme/internal/dockerexec/docker.go:90
        	            	github.com/runmedev/runme/v3/internal/dockerexec.New
        	            		/home/runner/work/runme/runme/internal/dockerexec/docker.go:49
        	            	github.com/runmedev/runme/v3/command.TestDockerCommand
        	            		/home/runner/work/runme/runme/command/command_docker_test.go:21
        	            	testing.tRunner
        	            		/opt/hostedtoolcache/go/1.25.7/x64/src/testing/testing.go:1934
        	            	runtime.goexit
        	            		/opt/hostedtoolcache/go/1.25.7/x64/src/runtime/asm_amd64.s:1693
        	Test:       	TestDockerCommand
FAIL
```

Guessing the docker version used in our images got updated but our go
code is pinning to a specific version.

Signed-off-by: Jeremy lewi <jeremy@lewi.us>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants