# Builder
#########

FROM golang:1.11 AS build

RUN apt-get update && apt-get install -y \
      zip # required for generate-index.bash

# Check out the desired version of Go, both to build the godoc binary and serve
# as the goroot for content serving.
ARG GO_REF
RUN test -n "$GO_REF" # GO_REF is required.
RUN git clone --single-branch --depth=1 -b $GO_REF https://go.googlesource.com/go /goroot
RUN cd /goroot/src && ./make.bash

ENV GOROOT /goroot
ENV PATH=/goroot/bin:$PATH

RUN go version

RUN go get -v -d \
      golang.org/x/net/context \
      google.golang.org/appengine \
      cloud.google.com/go/datastore \
      golang.org/x/build \
      github.com/gomodule/redigo/redis

COPY . /go/src/golang.org/x/tools

WORKDIR /go/src/golang.org/x/website/cmd/golangorg
RUN GODOC_DOCSET=/goroot ./generate-index.bash

RUN go build -o /godoc -tags=golangorg golang.org/x/website/cmd/golangorg

# Clean up goroot for the final image.
RUN cd /goroot && git clean -xdf

# Add build metadata.
RUN cd /goroot && echo "go repo HEAD: $(git rev-parse HEAD)" >> /goroot/buildinfo
RUN echo "requested go ref: ${GO_REF}" >> /goroot/buildinfo
ARG TOOLS_HEAD
RUN echo "x/tools HEAD: ${TOOLS_HEAD}" >> /goroot/buildinfo
ARG TOOLS_CLEAN
RUN echo "x/tools clean: ${TOOLS_CLEAN}" >> /goroot/buildinfo
ARG DOCKER_TAG
RUN echo "image: ${DOCKER_TAG}" >> /goroot/buildinfo
ARG BUILD_ENV
RUN echo "build env: ${BUILD_ENV}" >> /goroot/buildinfo

RUN rm -rf /goroot/.git

# Final image
#############

FROM gcr.io/distroless/base

WORKDIR /app
COPY --from=build /godoc /app/
COPY --from=build /go/src/golang.org/x/website/cmd/golangorg/hg-git-mapping.bin /app/

COPY --from=build /goroot /goroot
ENV GOROOT /goroot

COPY --from=build /go/src/golang.org/x/website/cmd/golangorg/index.split.* /app/
ENV GODOC_INDEX_GLOB index.split.*

CMD ["/app/godoc"]
