summaryrefslogtreecommitdiffhomepage
path: root/Dockerfile.dev
diff options
context:
space:
mode:
authorAdam Malczewski <[email protected]>2026-06-02 21:10:09 +0900
committerAdam Malczewski <[email protected]>2026-06-02 21:10:09 +0900
commitd9f53727845dface3e6d8a84ba2270b1de55482b (patch)
tree6d42f0a0fbda15057296992e78c4b4e12046f9ed /Dockerfile.dev
parent80212bfb009eaf71a4743310dee6ed08b8f7e1da (diff)
parent9d8cf7005ba4c0bb8ade0775f54c2557aa1c5683 (diff)
downloaddispatch-d9f53727845dface3e6d8a84ba2270b1de55482b.tar.gz
dispatch-d9f53727845dface3e6d8a84ba2270b1de55482b.zip
Merge branch 'dev' into feat/cs-code-search-tool
# Conflicts: # packages/api/src/agent-manager.ts # packages/api/tests/agent-manager.test.ts # packages/frontend/src/lib/components/ToolPermissions.svelte # packages/frontend/src/lib/settings.svelte.ts
Diffstat (limited to 'Dockerfile.dev')
-rw-r--r--Dockerfile.dev31
1 files changed, 31 insertions, 0 deletions
diff --git a/Dockerfile.dev b/Dockerfile.dev
index 94d30fb..9614564 100644
--- a/Dockerfile.dev
+++ b/Dockerfile.dev
@@ -21,6 +21,37 @@ FROM oven/bun:1
WORKDIR /app
+# ─── Roblox Luau tooling (luau-lsp + rojo) ──────────────────────
+# The LSP test bed under references/stunt-olympics/ drives Dispatch's
+# luau-lsp integration: diagnostics-on-write and the `lsp` tool. Both
+# `luau-lsp` and `rojo` must be on PATH inside the container (luau-lsp's
+# sourcemap.autogenerate shells out to `rojo sourcemap --watch`). The base
+# oven/bun image ships neither curl nor unzip, so install those first.
+#
+# Versions are pinned for reproducible builds; bump via --build-arg.
+ARG LUAU_LSP_VERSION=1.68.0
+ARG ROJO_VERSION=7.6.1
+RUN set -eux; \
+ apt-get update; \
+ apt-get install -y --no-install-recommends curl unzip ca-certificates; \
+ rm -rf /var/lib/apt/lists/*; \
+ arch="$(uname -m)"; \
+ case "$arch" in \
+ x86_64) luau_asset="luau-lsp-linux-x86_64.zip"; rojo_asset="rojo-${ROJO_VERSION}-linux-x86_64.zip" ;; \
+ aarch64) luau_asset="luau-lsp-linux-arm64.zip"; rojo_asset="rojo-${ROJO_VERSION}-linux-aarch64.zip" ;; \
+ *) echo "Unsupported arch: $arch" >&2; exit 1 ;; \
+ esac; \
+ tmp="$(mktemp -d)"; \
+ curl -fsSL "https://github.com/JohnnyMorganz/luau-lsp/releases/download/${LUAU_LSP_VERSION}/${luau_asset}" -o "$tmp/luau-lsp.zip"; \
+ unzip -q "$tmp/luau-lsp.zip" -d "$tmp/luau-lsp"; \
+ install -m 0755 "$tmp/luau-lsp/luau-lsp" /usr/local/bin/luau-lsp; \
+ curl -fsSL "https://github.com/rojo-rbx/rojo/releases/download/v${ROJO_VERSION}/${rojo_asset}" -o "$tmp/rojo.zip"; \
+ unzip -q "$tmp/rojo.zip" -d "$tmp/rojo"; \
+ install -m 0755 "$tmp/rojo/rojo" /usr/local/bin/rojo; \
+ rm -rf "$tmp"; \
+ luau-lsp --version; \
+ rojo --version
+
# Copy dependency files for layer caching
COPY package.json bun.lock ./
COPY packages/core/package.json packages/core/package.json