# syntax=docker/dockerfile:1-labs ARG GO_VERSION="1.17" ARG GORELEASER_XX_VERSION="1.2.2" FROM --platform=$BUILDPLATFORM crazymax/goreleaser-xx:${GORELEASER_XX_VERSION} AS goreleaser-xx FROM --platform=$BUILDPLATFORM golang:${GO_VERSION}-alpine AS base ENV CGO_ENABLED=0 COPY --from=goreleaser-xx / / RUN apk add --no-cache file git WORKDIR /src FROM base AS vendored RUN --mount=type=bind,source=.,target=/src,rw \ --mount=type=cache,target=/go/pkg/mod \ go mod tidy && go mod download FROM vendored AS test ENV CGO_ENABLED=1 RUN apk add --no-cache gcc linux-headers musl-dev RUN --mount=type=bind,target=. \ --mount=type=cache,target=/go/pkg/mod \ --mount=type=cache,target=/root/.cache/go-build <