| # target: cue-builder |
| ARG GOLANG_VERSION |
| FROM docker.io/golang:${GOLANG_VERSION}-alpine AS cue-builder |
| ARG CUE_VERSION |
| ENV \ |
| OUTDIR='/out' \ |
| GO111MODULE='on' |
| RUN set -eux && \ |
| apk add --no-cache \ |
| git |
| WORKDIR /go/src/cuelang.org/go |
| COPY go.mod /go/src/cuelang.org/go/ |
| COPY go.sum /go/src/cuelang.org/go/ |
| RUN set -eux && \ |
| go mod download |
| COPY . /go/src/cuelang.org/go/ |
| RUN set -eux && \ |
| CGO_ENABLED=0 GOBIN=${OUTDIR}/usr/bin/ go install \ |
| -a -v \ |
| -tags='osusergo,netgo' \ |
| -installsuffix='netgo' \ |
| -ldflags="-s -w -X cuelang.org/go/cmd/cue/cmd.version=${CUE_VERSION} \"-extldflags=-static\"" \ |
| ./cmd/cue |
| |
| # target: cue |
| FROM gcr.io/distroless/static:latest AS cue |
| COPY --from=cue-builder /out/ / |
| ENTRYPOINT ["/usr/bin/cue"] |