Skip to content

Commit 4942397

Browse files
committed
fix(ide): commit wasm to git, fix docker model download paths and gitignore negation
1 parent 2248988 commit 4942397

4 files changed

Lines changed: 21 additions & 12 deletions

File tree

Dockerfile

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -123,9 +123,10 @@ EXPOSE 80
123123
# Download WebLLM model weights (cached layer)
124124
FROM node:22-alpine AS download-model
125125
RUN apk add --no-cache curl bash
126-
WORKDIR /models
127-
COPY packages/ide/scripts/download-model.sh /tmp/download-model.sh
128-
RUN bash /tmp/download-model.sh /models
126+
WORKDIR /app/packages/ide
127+
COPY packages/ide/models/Qwen3-0.6B-q4f16_1-ctx4k_cs1k-webgpu.wasm models/
128+
COPY packages/ide/scripts/download-model.sh scripts/download-model.sh
129+
RUN bash scripts/download-model.sh
129130

130131
FROM deps AS build-ide-false
131132
COPY scripts scripts
@@ -172,7 +173,7 @@ COPY --from=build-ide /app/packages/vscode/syntaxes packages/vscode/syntaxes
172173
COPY --from=build-ide /app/packages/vscode/language-configuration.json packages/vscode/
173174
COPY --from=build-ide /app/packages/morsel/public packages/morsel/public
174175
COPY --from=build-ide /app/node_modules/@vscode node_modules/@vscode
175-
COPY --from=download-model /models packages/ide/models
176+
COPY --from=download-model /app/packages/ide/models packages/ide/models
176177
EXPOSE 3200
177178
ENV NODE_ENV=production
178179
ENV PORT=3200

packages/ide/.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
vscode-web/
22
dist/
33
node_modules/
4-
models/
4+
models/**
5+
!models/Qwen3-0.6B-q4f16_1-ctx4k_cs1k-webgpu.wasm
5.49 MB
Binary file not shown.

packages/ide/scripts/download-model.sh

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,9 @@ REPO_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)"
1212
TARGET="${1:-$REPO_ROOT/models}"
1313

1414
MODEL_DIR="$TARGET/Qwen3-0.6B-q4f16_1-MLC"
15-
WASM_FILE="$TARGET/Qwen3-0.6B-q4f16_1-ctx4k_cs1k-webgpu.wasm"
1615

1716
HF_BASE="https://huggingface.co/mlc-ai/Qwen3-0.6B-q4f16_1-MLC/resolve/main"
18-
WASM_URL="https://huggingface.co/mlc-ai/binary-mlc-llm-libs/resolve/main/Qwen3-0.6B-q4f16_1-ctx4k_cs1k-webgpu.wasm"
17+
WASM_NAME="Qwen3-0.6B-q4f16_1-ctx4k_cs1k-webgpu.wasm"
1918

2019
# Files to download from the HuggingFace model repo
2120
MODEL_FILES=(
@@ -50,12 +49,20 @@ for file in "${MODEL_FILES[@]}"; do
5049
fi
5150
done
5251

53-
# Download WASM
54-
if [ -f "$WASM_FILE" ]; then
55-
echo " [cached] $(basename "$WASM_FILE")"
52+
# The WASM file is committed to git (not available from a public URL).
53+
# In CI / Docker, it comes from the git checkout or COPY step.
54+
if [ ! -f "$TARGET/$WASM_NAME" ]; then
55+
# Try to find it in the repo checkout (for CI/Docker contexts)
56+
REPO_WASM="$REPO_ROOT/models/$WASM_NAME"
57+
if [ -f "$REPO_WASM" ]; then
58+
echo " [copy] $WASM_NAME (from repo)"
59+
cp "$REPO_WASM" "$TARGET/$WASM_NAME"
60+
else
61+
echo " [ERROR] $WASM_NAME not found. Ensure the repo checkout includes it."
62+
exit 1
63+
fi
5664
else
57-
echo " [downloading] $(basename "$WASM_FILE")"
58-
curl -fSL --retry 3 "$WASM_URL" -o "$WASM_FILE"
65+
echo " [cached] $WASM_NAME"
5966
fi
6067

6168
echo "==> Model download complete"

0 commit comments

Comments
 (0)