Pin docker-cli and compose to exact apk versions - #76
Conversation
Lock docker-cli=29.5.2-r0 and docker-cli-compose=2.40.3-r6 so Alpine floats cannot silently bump the installer Docker client. Co-authored-by: Cursor <cursoragent@cursor.com>
| command: "docker" | ||
| args: ["--version"] | ||
| expectedOutput: ["Docker version 29.*"] | ||
| expectedOutput: ["Docker version 29.5.2.*"] |
There was a problem hiding this comment.
The periods in 29.5.2 are regex wildcards and the expression lacks a version boundary, so output such as Docker version 29x5x20 can satisfy a test intended to enforce the exact Docker CLI version.
| expectedOutput: ["Docker version 29.5.2.*"] | |
| expectedOutput: ["Docker version 29[.]5[.]2($|,)"] |
Prompt To Fix With AI
This is a comment left during a code review.
Path: tests.yaml
Line: 19
Comment:
**Exact version regex is loose**
The periods in `29.5.2` are regex wildcards and the expression lacks a version boundary, so output such as `Docker version 29x5x20` can satisfy a test intended to enforce the exact Docker CLI version.
```suggestion
expectedOutput: ["Docker version 29[.]5[.]2($|,)"]
```
---
For each issue above, determine whether it is valid and should be fixed. If so, fix it directly.
Greptile SummaryPins the Docker CLI packages and updates release documentation and structure tests.
Confidence Score: 4/5The PR appears safe to merge, with a non-blocking correction recommended so the Docker CLI structure test genuinely enforces the intended exact version. The package pins are internally consistent with the stated release versions, while the Docker CLI test’s regex metacharacters and missing boundary allow unintended output to satisfy the new assertion. Files Needing Attention: tests.yaml Important Files Changed
Prompt To Fix All With AI### Issue 1
tests.yaml:19
**Exact version regex is loose**
The periods in `29.5.2` are regex wildcards and the expression lacks a version boundary, so output such as `Docker version 29x5x20` can satisfy a test intended to enforce the exact Docker CLI version.
```suggestion
expectedOutput: ["Docker version 29[.]5[.]2($|,)"]
```
---
For each issue above, determine whether it is valid and should be fixed. If so, fix it directly.Reviews (1): Last reviewed commit: "Pin docker-cli and compose apk packages ..." | Re-trigger Greptile |
Summary
docker-cli=29.5.2-r0anddocker-cli-compose=2.40.3-r6in the final image (same versions already shipped in1.4.4)This stops Alpine package floats from silently bumping the Docker client in future base builds. It does not downgrade the client; hosts on older Engine APIs (e.g. max 1.42) still need a separate compatibility approach.
Test plan
docker --version/docker compose version)Made with Cursor