ARG GOLANG_CI_LINT_VERSION FROM golang:1.23 as builder ENV PATH /go/bin:/usr/local/go/bin:$PATH ENV GOPATH /go COPY . /go/src/github.com/virtual-kubelet/alibabacloud-eci WORKDIR /go/src/github.com/virtual-kubelet/alibabacloud-eci RUN make build RUN cp bin/virtual-kubelet /usr/bin/virtual-kubelet FROM golangci/golangci-lint:${GOLANG_CI_LINT_VERSION} as lint WORKDIR /app COPY go.mod ./ COPY go.sum ./ RUN \ --mount=type=cache,target=/root/.cache/go-build \ --mount=type=cache,target=/go/pkg/mod \ go mod download COPY . . ARG OUT_FORMAT RUN \ --mount=type=cache,target=/root/.cache/go-build \ --mount=type=cache,target=/go/pkg/mod \ --mount=type=cache,target=/root/.cache/golangci-lint \ golangci-lint run -v --out-format="${OUT_FORMAT:-colored-line-number}" FROM alpine:latest COPY --from=builder /usr/bin/virtual-kubelet /usr/bin/virtual-kubelet COPY --from=builder /etc/ssl/certs/ /etc/ssl/certs RUN mkdir -p /root/.kube ENTRYPOINT [ "/usr/bin/virtual-kubelet" ] CMD [ "--help" ]