# Stage 1: Frontend build FROM node:22-bookworm-slim AS frontend-builder WORKDIR /frontend COPY frontend/package.json ./ RUN npm install COPY frontend/ ./ RUN npm run build # Stage 2: Go build and test FROM golang:1.24-bookworm AS go-builder ENV CGO_ENABLED=1 RUN apt-get update && apt-get install -y --no-install-recommends \ build-essential \ pkg-config \ libgtk-3-dev \ libwebkit2gtk-4.1-dev \ && rm -rf /var/lib/apt/lists/* WORKDIR /src COPY go.mod go.sum ./ RUN go mod download COPY . . COPY --from=frontend-builder /frontend/dist ./frontend/dist RUN go test -v ./... RUN go build -o /out/fast_reader . # Stage 3: Export build artifact FROM scratch AS artifact COPY --from=go-builder /out/fast_reader /fast_reader