Refresh bench tooling and Claude profiles#1
Conversation
|
@codex review |
Reviewer's guide (collapsed on small PRs)Reviewer's GuideThis PR refreshes the layer-2 bench Docker image to align with the updated bench runtime/tooling and to mount portable Claude profiles where applicable. File-Level Changes
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
There was a problem hiding this comment.
Pull request overview
Updates the Layer 2 frappe-bench container image definition to align with refreshed bench tooling assumptions (especially what’s provided by the parent/base images) and to adjust how the Python bench toolchain is installed/verified.
Changes:
- Bumped Layer 2 image version metadata.
- Removed in-image Docker CLI/Compose installation and replaced it with a build-time verification step.
- Refreshed Python tooling install by pinning several dependencies and installing
frappe-benchseparately with--no-deps, plus addeduv/benchversion checks.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| && curl -fsSL -o /usr/local/lib/docker/cli-plugins/docker-compose \ | ||
| https://github.com/docker/compose/releases/download/v2.34.0/docker-compose-linux-x86_64 \ | ||
| && chmod +x /usr/local/lib/docker/cli-plugins/docker-compose | ||
| RUN docker --version && docker compose version |
| 'setuptools>=71.0.0,<82.0.0' \ | ||
| && pip3 install --break-system-packages --no-deps frappe-bench \ | ||
| && pip3 cache purge \ |
| LABEL layer.version="2.1.3" | ||
| LABEL layer.updated="2026-03-07" |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 07eabe25ce
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| 'python-crontab~=2.6.0' \ | ||
| 'requests~=2.33.0' \ | ||
| 'setuptools>=71.0.0,<82.0.0' \ | ||
| && pip3 install --break-system-packages --no-deps frappe-bench \ |
There was a problem hiding this comment.
Install semantic-version with bench
Because this image now installs frappe-bench with --no-deps, every runtime dependency has to be listed explicitly. The added list omits semantic-version, which current bench imports from bench.app; the later bench get-app commands in this same Dockerfile load that module, so the Layer 2 build will fail with ModuleNotFoundError: No module named 'semantic_version' before the template apps are fetched.
Useful? React with 👍 / 👎.
| && curl -fsSL -o /usr/local/lib/docker/cli-plugins/docker-compose \ | ||
| https://github.com/docker/compose/releases/download/v2.34.0/docker-compose-linux-x86_64 \ | ||
| && chmod +x /usr/local/lib/docker/cli-plugins/docker-compose | ||
| RUN docker --version && docker compose version |
There was a problem hiding this comment.
Install the Docker client instead of only checking it
When this repo is built against the documented dev-bench-base:latest Layer 1a that does not already provide Docker Compose, this replaces the only Layer 2 Docker client installation with a version check. The devcontainer bind-mounts /var/run/docker.sock, but that mount does not provide the docker or Compose binaries, so bases without those tools now fail at this RUN step instead of producing the Frappe image.
Useful? React with 👍 / 👎.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 07eabe25ce
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| 'python-crontab~=2.6.0' \ | ||
| 'requests~=2.33.0' \ | ||
| 'setuptools>=71.0.0,<82.0.0' \ | ||
| && pip3 install --break-system-packages --no-deps frappe-bench \ |
There was a problem hiding this comment.
Install semantic-version before bench get-app
In a clean Layer 1a image that does not already have semantic-version, installing frappe-bench with --no-deps skips one of bench's declared runtime dependencies. The template build later runs bench get-app, which imports bench.app and then semantic_version, so the Docker build fails with ModuleNotFoundError before the image can be produced. Either let pip resolve bench dependencies or install semantic-version explicitly here.
Useful? React with 👍 / 👎.
| && curl -fsSL -o /usr/local/lib/docker/cli-plugins/docker-compose \ | ||
| https://github.com/docker/compose/releases/download/v2.34.0/docker-compose-linux-x86_64 \ | ||
| && chmod +x /usr/local/lib/docker/cli-plugins/docker-compose | ||
| RUN docker --version && docker compose version |
There was a problem hiding this comment.
Install Docker CLI before checking it
When building against the documented dev-bench-base layer, Docker is no longer installed by this Dockerfile before this RUN executes. The previous block downloaded both the Docker client and Compose plugin here, but this change only verifies inherited tools, so builds fail at this layer with docker: not found unless an out-of-repo base image has been rebuilt with Docker already included.
Useful? React with 👍 / 👎.
Summary
Validation
git diff --checkbash -ndocker buildx build --checkSummary by Sourcery
Refresh bench Docker layer2 image to align with updated tooling and portable Claude profiles.