Skip to content

Refresh bench tooling and Claude profiles#1

Open
brettheap wants to merge 2 commits into
mainfrom
agent/bench-refresh-2026-07
Open

Refresh bench tooling and Claude profiles#1
brettheap wants to merge 2 commits into
mainfrom
agent/bench-refresh-2026-07

Conversation

@brettheap

@brettheap brettheap commented Jul 13, 2026

Copy link
Copy Markdown
Contributor

Summary

  • mount portable Claude account profiles where applicable
  • refresh the bench-specific runtime and administration toolchain
  • keep the bench aligned with the synchronized workBenches parent

Validation

  • git diff --check
  • changed shell scripts: bash -n
  • changed Dockerfile: docker buildx build --check

Summary by Sourcery

Refresh development bench tooling and container setup while aligning documentation with updated compiler versions.

Enhancements:

  • Update recommended Clang and GCC versions in the README to newer toolchains.
  • Refresh devcontainer and Layer 2 Docker configuration for the bench environment.

Build:

  • Adjust Dockerfile.layer2 to use updated runtime or tooling versions for the bench.

Documentation:

  • Revise README compiler configuration examples to reference current Clang and GCC versions.

Copilot AI review requested due to automatic review settings July 13, 2026 00:13
@brettheap

Copy link
Copy Markdown
Contributor Author

@codex review

@sourcery-ai

sourcery-ai Bot commented Jul 13, 2026

Copy link
Copy Markdown
Reviewer's guide (collapsed on small PRs)

Reviewer's Guide

This PR refreshes bench tooling by updating compiler versions in the README and adjusting devcontainer/Dockerfile configuration to align the bench environment with portable Claude profiles and the synchronized workBenches parent setup.

File-Level Changes

Change Details Files
Update documented compiler versions used for multi-compiler testing to newer Clang and GCC releases.
  • Change Clang environment variables from version 15 to version 19 in the multi-compiler testing section.
  • Change GCC environment variables from version 12 to version 14 in the multi-compiler testing section.
README.md
Refresh development container configuration to mount portable Claude account profiles and align with the synchronized workBenches parent.
  • Adjust devcontainer settings to mount or reference Claude profiles where applicable.
  • Update runtime and tooling configuration in the devcontainer to match the latest bench/workBenches standards.
.devcontainer/devcontainer.json
Update layer-2 Docker image configuration to reflect refreshed bench toolchain and alignment with workBenches parent.
  • Modify Dockerfile instructions to use updated tooling/runtime versions consistent with the bench refresh.
  • Ensure Dockerfile configuration is compatible with buildx validation and portable Claude profiles setup.
Dockerfile.layer2

Tips and commands

Interacting with Sourcery

  • Trigger a new review: Comment @sourcery-ai review on the pull request.
  • Continue discussions: Reply directly to Sourcery's review comments.
  • Generate a GitHub issue from a review comment: Ask Sourcery to create an
    issue from a review comment by replying to it. You can also reply to a
    review comment with @sourcery-ai issue to create an issue from it.
  • Generate a pull request title: Write @sourcery-ai anywhere in the pull
    request title to generate a title at any time. You can also comment
    @sourcery-ai title on the pull request to (re-)generate the title at any time.
  • Generate a pull request summary: Write @sourcery-ai summary anywhere in
    the pull request body to generate a PR summary at any time exactly where you
    want it. You can also comment @sourcery-ai summary on the pull request to
    (re-)generate the summary at any time.
  • Generate reviewer's guide: Comment @sourcery-ai guide on the pull
    request to (re-)generate the reviewer's guide at any time.
  • Resolve all Sourcery comments: Comment @sourcery-ai resolve on the
    pull request to resolve all Sourcery comments. Useful if you've already
    addressed all the comments and don't want to see them anymore.
  • Dismiss all Sourcery reviews: Comment @sourcery-ai dismiss on the pull
    request to dismiss all existing Sourcery reviews. Especially useful if you
    want to start fresh with a new review - don't forget to comment
    @sourcery-ai review to trigger a new review!

Customizing Your Experience

Access your dashboard to:

  • Enable or disable review features such as the Sourcery-generated pull request
    summary, the reviewer's guide, and others.
  • Change the review language.
  • Add, remove or edit custom review instructions.
  • Adjust other review settings.

Getting Help

@sourcery-ai sourcery-ai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Hey - I've left some high level feedback:

  • The compiler versions in the README have been updated; double-check that these match the versions installed in the Dockerfile and devcontainer configuration to avoid confusing discrepancies for users following the instructions.
  • Consider parameterizing the compiler versions (e.g., via environment variables or CMake toolchain files) rather than hardcoding specific version numbers in the README so the bench can be updated more easily when toolchains change.
Prompt for AI Agents
Please address the comments from this code review:

## Overall Comments
- The compiler versions in the README have been updated; double-check that these match the versions installed in the Dockerfile and devcontainer configuration to avoid confusing discrepancies for users following the instructions.
- Consider parameterizing the compiler versions (e.g., via environment variables or CMake toolchain files) rather than hardcoding specific version numbers in the README so the bench can be updated more easily when toolchains change.

Sourcery is free for open source - if you like our reviews please consider sharing them ✨
Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Pull request overview

Updates the cppBench development environment to newer compiler toolchains and refreshes devcontainer configuration to support additional Claude profile mounting.

Changes:

  • Bump recommended compiler versions in docs to Clang 19 / GCC 14.
  • Refresh Layer 2 bench image tooling to install and default to GCC 14 and LLVM/Clang 19.
  • Add a devcontainer mount for portable Claude profiles (~/.claude-profiles).

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 3 comments.

File Description
README.md Updates example environment variables to use Clang 19 / GCC 14.
Dockerfile.layer2 Upgrades installed compiler toolchain and updates layer version label.
.devcontainer/devcontainer.json Adds bind mount for ~/.claude-profiles into the container.

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

Comment thread Dockerfile.layer2
Comment on lines +54 to +58
clang-19 \
clang-tools-19 \
clang-tidy-19 \
clang-format-19 \
llvm-19 \
// Claude (Anthropic)
"source=${localEnv:HOME}/.claude,target=/home/${localEnv:USER}/.claude,type=bind,consistency=cached",
"source=${localEnv:HOME}/.claude.json,target=/home/${localEnv:USER}/.claude.json,type=bind,consistency=cached",
"source=${localEnv:HOME}/.claude-profiles,target=/home/${localEnv:USER}/.claude-profiles,type=bind,consistency=cached",
// Claude (Anthropic)
"source=${localEnv:HOME}/.claude,target=/home/${localEnv:USER}/.claude,type=bind,consistency=cached",
"source=${localEnv:HOME}/.claude.json,target=/home/${localEnv:USER}/.claude.json,type=bind,consistency=cached",
"source=${localEnv:HOME}/.claude-profiles,target=/home/${localEnv:USER}/.claude-profiles,type=bind,consistency=cached",

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 27f81921de

ℹ️ 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".

Comment thread Dockerfile.layer2
Comment on lines +51 to +52
gcc-14 \
g++-14 \

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P1 Badge Keep devcontainer compiler overrides in sync

When users launch this image through the checked-in devcontainer, .devcontainer/docker-compose.yml still sets CC=/usr/bin/gcc-12 and CXX=/usr/bin/g++-12, and .devcontainer/devcontainer.json has the same overrides; those environment values override the Dockerfile ENV. Since this change replaces the layer's GCC install/export with GCC 14 only, a fresh container can end up with CC/CXX pointing at non-existent GCC 12 paths, causing CMake and builds that honor these variables to fail immediately.

Useful? React with 👍 / 👎.

// Claude (Anthropic)
"source=${localEnv:HOME}/.claude,target=/home/${localEnv:USER}/.claude,type=bind,consistency=cached",
"source=${localEnv:HOME}/.claude.json,target=/home/${localEnv:USER}/.claude.json,type=bind,consistency=cached",
"source=${localEnv:HOME}/.claude-profiles,target=/home/${localEnv:USER}/.claude-profiles,type=bind,consistency=cached",

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Guard optional Claude profiles mount

On hosts that have the normal Claude files but have not created ~/.claude-profiles, this new bind mount can prevent the devcontainer from starting because Dev Container mounts are passed through as Docker bind mounts and the source path must already exist. The existing initializeCommand creates a few optional host directories, but it does not create this new Claude profiles directory, so users without that optional profile setup hit the failure before the container can run.

Useful? React with 👍 / 👎.

Comment thread Dockerfile.layer2
Comment on lines +51 to +52
gcc-14 \
g++-14 \

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P1 Badge Don't require Noble-only GCC packages on Jammy

When this layer is built on the still-documented Ubuntu 22.04/Jammy base, this apt-get install step cannot resolve gcc-14/g++-14 from the stock repositories; Ubuntu's own GCC availability table lists Jammy packages only through GCC 12. Without moving the base image to 24.04 or adding the toolchain repository before this RUN, scripts/build-layer2.sh fails before producing cpp-bench:latest.

Useful? React with 👍 / 👎.

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.

2 participants