Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,7 @@
"source=${localEnv:HOME}/.agents,target=/home/${localEnv:USER}/.agents,type=bind,consistency=cached",
"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 Avoid requiring optional Claude profile paths

For hosts that have the existing credential paths but have not created ~/.claude-profiles, this new Dev Containers bind mount makes startup fail because entries in mounts use Docker --mount semantics and the bind source must already exist. Since the profiles are only useful for users who opted into portable Claude profiles, create the host directory before startup or make this mount conditional rather than requiring every devcontainer user to have it.

Useful? React with 👍 / 👎.

"source=${localEnv:HOME}/.codex,target=/home/${localEnv:USER}/.codex,type=bind,consistency=cached",
// Omnigent (AI meta-harness, wraps Codex/Claude)
"source=${localEnv:HOME}/.omnigent,target=/home/${localEnv:USER}/.omnigent,type=bind,consistency=cached",
Expand Down
1 change: 1 addition & 0 deletions .devcontainer/docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ services:
- ${HOME}/.config/gh:/home/${USER:-brett}/.config/gh:ro
- ${HOME}/.claude:/home/${USER:-brett}/.claude:cached
- ${HOME}/.claude.json:/home/${USER:-brett}/.claude.json:cached
- ${HOME}/.claude-profiles:/home/${USER:-brett}/.claude-profiles:cached
- ${HOME}/.codex:/home/${USER:-brett}/.codex:cached
- ${HOME}/.pi:/home/${USER:-brett}/.pi:cached
- ${HOME}/.config/sonarqube:/home/${USER:-brett}/.config/sonarqube:ro
Expand Down
2 changes: 1 addition & 1 deletion Dockerfile.layer2
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ RUN apt-get update && apt-get install -y \
# Install pipx, poetry, and common Python tools
RUN python3 -m pip install --break-system-packages \
pipx poetry black flake8 mypy pytest pytest-cov coverage pysonar ipython jupyter \
django flask fastapi uvicorn pandas numpy
django flask 'fastapi[standard]' uvicorn pandas numpy
Comment on lines 26 to +28

# Install GitLab CLI (glab)
RUN apt-get update && apt-get install -y glab && rm -rf /var/lib/apt/lists/*
Expand Down
5 changes: 5 additions & 0 deletions scripts/check-amd-rocm-wsl
Original file line number Diff line number Diff line change
Expand Up @@ -36,8 +36,13 @@ echo "HIP_PATH=${HIP_PATH:-}"
echo "HSA_ENABLE_DXG_DETECTION=${HSA_ENABLE_DXG_DETECTION:-}"
echo "HSA_ENABLE_SDMA=${HSA_ENABLE_SDMA:-}"
echo "LD_PRELOAD=${LD_PRELOAD:-}"
echo "ROCM_HSA_PRELOAD=${ROCM_HSA_PRELOAD:-}"
echo "LD_LIBRARY_PATH=${LD_LIBRARY_PATH:-}"

if [[ -n "${LD_PRELOAD:-}" ]]; then
echo "warn: LD_PRELOAD is globally set; prefer LD_PRELOAD=\"\$ROCM_HSA_PRELOAD\" only on ROCm commands that need it." >&2
fi

if [[ -n "$PADDLE_SO" ]]; then
if [[ ! -r "$PADDLE_SO" ]]; then
echo "missing: Paddle shared library: ${PADDLE_SO}" >&2
Expand Down
2 changes: 1 addition & 1 deletion scripts/configure-amd-rocm-wsl.sh
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ cat >>"$OUT_FILE" <<YAML
HIP_PATH: ${ROCM_ROOT}
HSA_ENABLE_DXG_DETECTION: "1"
HSA_ENABLE_SDMA: "0"
LD_PRELOAD: ${ROCM_ROOT}/lib/libhsa-runtime64.so.1
ROCM_HSA_PRELOAD: ${ROCM_ROOT}/lib/libhsa-runtime64.so.1

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 Keep preloading HSA for ROCm containers

On WSL AMD ROCm hosts, this generated override now only exports ROCM_HSA_PRELOAD, but neither Docker Compose nor the dynamic linker consumes that variable; only LD_PRELOAD actually causes libhsa-runtime64.so.1 to be preloaded. Since there is no wrapper in the repo that maps ROCM_HSA_PRELOAD back to LD_PRELOAD, ROCm/Paddle commands launched normally in the devcontainer lose the preload that the previous generated config provided and can fail unless every invocation is manually prefixed.

Useful? React with 👍 / 👎.

LD_LIBRARY_PATH: ${ROCM_ROOT}/lib:/usr/lib/x86_64-linux-gnu:/usr/lib
Comment on lines 57 to 60
YAML

Expand Down