1+ # Build stage for static assets
2+ FROM oven/bun:latest AS static-builder
3+ WORKDIR /app
4+ ARG OPENCODE_COMMIT_HASH
5+ ENV OPENCODE_COMMIT_HASH=${OPENCODE_COMMIT_HASH}
6+ COPY package.json bun.lock ./
7+ COPY patches patches
8+ COPY packages/desktop packages/desktop
9+ COPY packages/ui packages/ui
10+ COPY packages/sdk/js packages/sdk/js
11+ COPY packages/util packages/util
12+ COPY packages/console packages/console
13+ COPY packages/slack packages/slack
14+ COPY packages/script packages/script
15+ COPY packages/opencode/src/cli/cmd/tui/context/theme packages/opencode/src/cli/cmd/tui/context/theme
16+ RUN bun install --ignore-scripts
17+ RUN cd packages/desktop && bun run build
18+
119FROM alpine AS base
220
321# Disable the runtime transpiler cache by default inside Docker containers.
@@ -7,12 +25,12 @@ ENV BUN_RUNTIME_TRANSPILER_CACHE_PATH=${BUN_RUNTIME_TRANSPILER_CACHE_PATH}
725RUN apk add libgcc libstdc++ ripgrep git openssh-client
826
927FROM base AS build-amd64
10- COPY dist/shuvcode-linux-x64-baseline-musl/bin/shuvcode /usr/local/bin/shuvcode
11- COPY static /usr/local/bin/static
28+ COPY packages/opencode/ dist/shuvcode-linux-x64-baseline-musl/bin/shuvcode /usr/local/bin/shuvcode
29+ COPY --from= static-builder /app/packages/desktop/dist /usr/local/bin/static
1230
1331FROM base AS build-arm64
14- COPY dist/shuvcode-linux-arm64-musl/bin/shuvcode /usr/local/bin/shuvcode
15- COPY static /usr/local/bin/static
32+ COPY packages/opencode/ dist/shuvcode-linux-arm64-musl/bin/shuvcode /usr/local/bin/shuvcode
33+ COPY --from= static-builder /app/packages/desktop/dist /usr/local/bin/static
1634
1735ARG TARGETARCH
1836FROM build-${TARGETARCH}
0 commit comments