Skip to content

chore: DevContainer / VSCode improvements#5611

Open
paulgessinger wants to merge 6 commits into
acts-project:mainfrom
paulgessinger:chore/vscode-support
Open

chore: DevContainer / VSCode improvements#5611
paulgessinger wants to merge 6 commits into
acts-project:mainfrom
paulgessinger:chore/vscode-support

Conversation

@paulgessinger

@paulgessinger paulgessinger commented Jun 22, 2026

Copy link
Copy Markdown
Member

This pull request updates the development container setup to improve CMake integration, environment configuration, and pre-commit hook management. The main changes include switching from pre-commit to prek for git hooks, enhancing CMake support in VS Code, and improving environment consistency and caching for builds.

Dev environment improvements:

  • Switched from installing pre-commit to prek in the Dockerfile and updated documentation to use prek install for enabling git hooks. (.devcontainer/Dockerfile, .devcontainer/setup.sh) [1] [2]
  • Removed the automatic installation of pre-commit hooks from the setup script to avoid unintended side effects. (.devcontainer/setup.sh)

CMake and VS Code integration:

  • Added the ms-vscode.cmake-tools extension and updated VS Code settings to set the default CMake preset to devcontainer, configure test environment variables, and improve test output handling. (.devcontainer/devcontainer.json)
  • Added a new devcontainer CMake preset for consistent builds inside the container. (CMakePresets.json)

Environment and caching enhancements:

  • Configured additional environment variables (LC_ALL, LANG, CCACHE_DIR) and mounted a named volume for ccache to speed up rebuilds and ensure locale consistency. (.devcontainer/devcontainer.json)

@paulgessinger paulgessinger marked this pull request as ready for review June 22, 2026 17:01
@github-actions github-actions Bot added Component - Core Affects the Core module Infrastructure Changes to build tools, continous integration, ... Component - Plugins Affects one or more Plugins Seeding labels Jun 22, 2026
@github-actions github-actions Bot added this to the next milestone Jun 22, 2026
@paulgessinger paulgessinger force-pushed the chore/vscode-support branch from 4513f36 to 2404432 Compare June 22, 2026 20:12
@github-actions github-actions Bot removed Component - Core Affects the Core module Infrastructure Changes to build tools, continous integration, ... Component - Plugins Affects one or more Plugins Seeding labels Jun 22, 2026
@github-actions

github-actions Bot commented Jun 22, 2026

Copy link
Copy Markdown
Contributor

📊: Physics performance monitoring for 5c58606

Full contents

physmon summary

❗️: Downstream build failure

  • eic-shell EICrecon (cc @acts-project/epic-contacts)

@krasznaa krasznaa left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I'm all for perking up the DevContainer config a little. Since making a proper development environment for Acts has been a bit challenging to me as well in the past.

I don't see anything deal-breaking here. I'm mainly wondering if we could simplify the configuration a little further. 🤔

Comment thread .devcontainer/devcontainer.json
Comment thread .devcontainer/devcontainer.json
Comment thread .devcontainer/devcontainer.json
},
"containerEnv": {
"CXXFLAGS": "-Wno-psabi"
"CXXFLAGS": "-Wno-psabi",

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Where does this come from? 😕 It has a weird smell that we'd need to turn off a specific warning like this.

@paulgessinger paulgessinger Jun 24, 2026

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

Yeah this is annoying. The origin is a warning on aarch64 GCC that just tells you that the compiler/stdlib changed their ABI for std::pair (IIRC) at some point. From all of my research, this is not associated with any code pattern or code defect in particular, it's just that if you use std::pair as a function argument in GCC on aarch64, it will tell you that the ABI changed back in GCC10 or so. As far as I've been able to work out, this is not actionable from our side.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

@krasznaa makes sense?

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Yeah, that ARM warning has been the bane of me in some cases as well... 😦 I think you're right, this is as good a "solution" for it as we can get.

Comment thread .devcontainer/Dockerfile Outdated
RUN uv tool install --no-cache pre-commit
RUN uv tool install -U --no-cache --no-build --force uv

RUN uv tool install --no-build --no-cache prek

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

SonarCloud may have a point here. 🤔

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

Added.

@paulgessinger

Copy link
Copy Markdown
Member Author

@krasznaa can you have another lok now?

@krasznaa krasznaa left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Sorry for the silence. Yeah, I don't think we can do much better than this. 😉

},
"containerEnv": {
"CXXFLAGS": "-Wno-psabi"
"CXXFLAGS": "-Wno-psabi",

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Yeah, that ARM warning has been the bane of me in some cases as well... 😦 I think you're right, this is as good a "solution" for it as we can get.

@sonarqubecloud

Copy link
Copy Markdown

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants