From 84bb00aabfc26c2485ed6a543e6809e320eb6994 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 28 Nov 2025 11:51:46 +0000 Subject: [PATCH 1/3] Initial plan From ef6987cc464e0c5862b1c0c32d9412d6e8b81067 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 28 Nov 2025 11:54:16 +0000 Subject: [PATCH 2/3] Fix dev container creation by updating features and base image - Change base image from ubuntu to debian - Update cmake feature to ghcr.io/devcontainers-extra/features/cmake:1 - Add uv feature ghcr.io/gvatsal60/dev-container-features/uv:0 - Add emscripten feature ghcr.io/ebaskoro/devcontainer-features/emscripten:1 - Simplify post-create.sh by removing manual uv/emscripten installation Co-authored-by: hzhangxyz <11623447+hzhangxyz@users.noreply.github.com> --- .devcontainer/devcontainer.json | 8 +++++--- .devcontainer/post-create.sh | 25 +------------------------ 2 files changed, 6 insertions(+), 27 deletions(-) diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index c24c0fe..4a58d7e 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -1,8 +1,8 @@ { "name": "DS Development Container", - "image": "mcr.microsoft.com/devcontainers/base:ubuntu", + "image": "mcr.microsoft.com/devcontainers/base:debian", "features": { - "ghcr.io/devcontainers/features/cmake:1": { + "ghcr.io/devcontainers-extra/features/cmake:1": { "version": "latest" }, "ghcr.io/devcontainers/features/python:1": { @@ -10,7 +10,9 @@ }, "ghcr.io/devcontainers/features/node:1": { "version": "latest" - } + }, + "ghcr.io/gvatsal60/dev-container-features/uv:0": {}, + "ghcr.io/ebaskoro/devcontainer-features/emscripten:1": {} }, "postCreateCommand": ".devcontainer/post-create.sh", "customizations": { diff --git a/.devcontainer/post-create.sh b/.devcontainer/post-create.sh index 2ca803c..1aa234c 100755 --- a/.devcontainer/post-create.sh +++ b/.devcontainer/post-create.sh @@ -5,34 +5,11 @@ set -euo pipefail sudo apt-get update sudo apt-get install -y libgtest-dev clang-format -# Install uv (Python package manager) -curl -LsSf https://astral.sh/uv/install.sh | sh - -# Add uv to PATH for this script and future sessions -export PATH="$HOME/.local/bin:$PATH" -echo 'export PATH="$HOME/.local/bin:$PATH"' >> "$HOME/.bashrc" - -# Install Python dependencies +# Install Python dependencies (uv is installed via devcontainer feature) uv sync --locked --extra dev # Install Node.js dependencies npm ci -# Install emscripten to a persistent location -EMSDK_DIR="$HOME/emsdk" -if [ ! -d "$EMSDK_DIR" ]; then - git clone https://github.com/emscripten-core/emsdk.git "$EMSDK_DIR" -else - git -C "$EMSDK_DIR" pull -fi -( - cd "$EMSDK_DIR" - ./emsdk install latest - ./emsdk activate latest -) - -# Add emsdk to shell config for future sessions -echo "source $EMSDK_DIR/emsdk_env.sh" >> "$HOME/.bashrc" - # Install pre-commit hooks uv run pre-commit install From 13d167c53929c381b68fb1e14dda6d3bc0d1f4f6 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 28 Nov 2025 11:57:54 +0000 Subject: [PATCH 3/3] Add version: latest for uv and emscripten features for consistency Co-authored-by: hzhangxyz <11623447+hzhangxyz@users.noreply.github.com> --- .devcontainer/devcontainer.json | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index 4a58d7e..9f449d2 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -11,8 +11,12 @@ "ghcr.io/devcontainers/features/node:1": { "version": "latest" }, - "ghcr.io/gvatsal60/dev-container-features/uv:0": {}, - "ghcr.io/ebaskoro/devcontainer-features/emscripten:1": {} + "ghcr.io/gvatsal60/dev-container-features/uv:0": { + "version": "latest" + }, + "ghcr.io/ebaskoro/devcontainer-features/emscripten:1": { + "version": "latest" + } }, "postCreateCommand": ".devcontainer/post-create.sh", "customizations": {