Dockerfile: use experimental syntax and buildkit cache-mounts

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
This commit is contained in:
Sebastiaan van Stijn 2020-08-28 13:20:11 +02:00
parent 3aee35037a
commit 01cd748eb6
No known key found for this signature in database
GPG Key ID: 76698F39D527CE8C
1 changed files with 13 additions and 3 deletions

View File

@ -1,3 +1,4 @@
# syntax=docker/dockerfile:1.1.7-experimental
ARG GO_VERSION=1.13.15 ARG GO_VERSION=1.13.15
FROM golang:${GO_VERSION}-alpine AS golang FROM golang:${GO_VERSION}-alpine AS golang
@ -5,15 +6,24 @@ ENV CGO_ENABLED=0
FROM golang AS esc FROM golang AS esc
ARG ESC_VERSION=v0.2.0 ARG ESC_VERSION=v0.2.0
RUN GO111MODULE=on go get github.com/mjibson/esc@${ESC_VERSION} RUN --mount=type=cache,target=/root/.cache/go-build \
--mount=type=cache,target=/go/pkg/mod \
--mount=type=tmpfs,target=/go/src/ \
GO111MODULE=on go get github.com/mjibson/esc@${ESC_VERSION}
FROM golang AS gotestsum FROM golang AS gotestsum
ARG GOTESTSUM_VERSION=v0.4.0 ARG GOTESTSUM_VERSION=v0.4.0
RUN GO111MODULE=on go get gotest.tools/gotestsum@${GOTESTSUM_VERSION} RUN --mount=type=cache,target=/root/.cache/go-build \
--mount=type=cache,target=/go/pkg/mod \
--mount=type=tmpfs,target=/go/src/ \
GO111MODULE=on go get gotest.tools/gotestsum@${GOTESTSUM_VERSION}
FROM golang AS vndr FROM golang AS vndr
ARG VNDR_VERSION=v0.1.1 ARG VNDR_VERSION=v0.1.1
RUN GO111MODULE=on go get github.com/LK4D4/vndr@${VNDR_VERSION} RUN --mount=type=cache,target=/root/.cache/go-build \
--mount=type=cache,target=/go/pkg/mod \
--mount=type=tmpfs,target=/go/src/ \
GO111MODULE=on go get github.com/LK4D4/vndr@${VNDR_VERSION}
FROM golang AS dev FROM golang AS dev
RUN apk add --no-cache \ RUN apk add --no-cache \