blob: 3eba1c63656c6eadfb56638a2a123dceb3d9187c [file] [log] [blame]
Earl Lee2e463fb2025-04-17 11:22:22 -07001FROM ghcr.io/astral-sh/uv:python3.11-alpine
2
Josh Bleecher Snydere2d24ab2025-04-30 00:01:41 +00003RUN apk add bash git make jq sqlite gcc musl-dev linux-headers npm nodejs go github-cli ripgrep fzf python3 curl vim grep
Earl Lee2e463fb2025-04-17 11:22:22 -07004
5ENV GOTOOLCHAIN=auto
6ENV GOPATH=/go
7ENV PATH="$GOPATH/bin:$PATH"
8
9RUN go install golang.org/x/tools/cmd/goimports@latest
10RUN go install golang.org/x/tools/gopls@latest
11RUN go install mvdan.cc/gofumpt@latest
12
David Crawshawbe10fa92025-04-18 01:16:00 -070013RUN mkdir -p /root/.cache/sketch/webui
14
Earl Lee2e463fb2025-04-17 11:22:22 -070015ARG GIT_USER_EMAIL
16ARG GIT_USER_NAME
17
18RUN git config --global user.email "$GIT_USER_EMAIL" && \
19 git config --global user.name "$GIT_USER_NAME"
20
Josh Bleecher Snydere2d24ab2025-04-30 00:01:41 +000021LABEL sketch_context="7010851bfbb48df3a934ebc3eeff896d406d5f37c6a04d82a5ccdf403374d055"
Earl Lee2e463fb2025-04-17 11:22:22 -070022COPY . /app
23
24WORKDIR /app
25RUN if [ -f go.mod ]; then go mod download; fi
26
David Crawshaw11129492025-04-25 20:41:53 -070027RUN apk add go || true
Josh Bleecher Snydere2d24ab2025-04-30 00:01:41 +000028
29# Install DVC as mentioned in the README
David Crawshaw11129492025-04-25 20:41:53 -070030RUN uv pip install --system dvc || true
31
Josh Bleecher Snydere2d24ab2025-04-30 00:01:41 +000032# Make sure Go tools are still installed in this Python-based image
33RUN go install golang.org/x/tools/cmd/goimports@latest || true
34RUN go install golang.org/x/tools/gopls@latest || true
35RUN go install mvdan.cc/gofumpt@latest || true
David Crawshaw11129492025-04-25 20:41:53 -070036
37CMD ["/bin/sketch"]