From a03b14b8459a4dd19f1aa22bff1a5518894e61bb Mon Sep 17 00:00:00 2001 From: Chris Crone Date: Sat, 3 Oct 2020 10:47:35 +0200 Subject: [PATCH 1/3] Add coverage/ to gitignore --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index e660fd9..40c3ff3 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ bin/ +coverage/ From 1897c38ce1a67521fd4f594c1115d49cda9291cf Mon Sep 17 00:00:00 2001 From: Chris Crone Date: Sat, 3 Oct 2020 10:48:12 +0200 Subject: [PATCH 2/3] Update dependencies --- Dockerfile | 5 ++--- go.mod | 4 ++-- go.sum | 9 +++++---- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/Dockerfile b/Dockerfile index 9a0b24f..2a5d940 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,6 +1,6 @@ # syntax = docker/dockerfile:1-experimental -FROM --platform=${BUILDPLATFORM} golang:1.15.0-alpine AS base +FROM --platform=${BUILDPLATFORM} golang:1.15.2-alpine AS base WORKDIR /src ENV CGO_ENABLED=0 COPY go.* . @@ -18,7 +18,7 @@ RUN --mount=target=. \ --mount=type=cache,target=/root/.cache/go-build \ mkdir /out && go test -v -coverprofile=/out/cover.out ./... -FROM golangci/golangci-lint:v1.27-alpine AS lint-base +FROM golangci/golangci-lint:v1.31.0-alpine AS lint-base FROM base AS lint RUN --mount=target=. \ @@ -40,4 +40,3 @@ FROM scratch AS bin-windows COPY --from=build /out/example /example.exe FROM bin-${TARGETOS} as bin - diff --git a/go.mod b/go.mod index 4c05c79..c9f916e 100644 --- a/go.mod +++ b/go.mod @@ -1,8 +1,8 @@ module github.com/chris-crone/containerized-go -go 1.14 +go 1.15 require ( github.com/pkg/errors v0.9.1 - github.com/stretchr/testify v1.5.1 + github.com/stretchr/testify v1.6.1 ) diff --git a/go.sum b/go.sum index 4516e6a..7034f5b 100644 --- a/go.sum +++ b/go.sum @@ -4,10 +4,11 @@ github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/stretchr/objx v0.1.0 h1:4G4v2dO3VZwixGIRoQ5Lfboy6nUhCyYzaqnIAPPhYs4= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/testify v1.5.1 h1:nOGnQDM7FYENwehXlg/kFVnos3rEvtKTjRvOWSzb6H4= -github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= +github.com/stretchr/testify v1.6.1 h1:hDPOHmpOpP40lSULcqw7IrRb/u7w6RpDC9399XyoNd0= +github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/yaml.v2 v2.2.2 h1:ZCJp+EgiOT7lHqUV2J862kp8Qj64Jo6az82+3Td9dZw= -gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c h1:dUUwHk2QECo/6vqA44rthZ8ie2QXMNeKRTHCNY2nXvo= +gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= From be01e9efe70a1eb5269a1bb1e223f9e514e5e1de Mon Sep 17 00:00:00 2001 From: Chris Crone Date: Sat, 3 Oct 2020 10:48:43 +0200 Subject: [PATCH 3/3] Cache Go modules --- Dockerfile | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 2a5d940..7810eb3 100644 --- a/Dockerfile +++ b/Dockerfile @@ -4,17 +4,20 @@ FROM --platform=${BUILDPLATFORM} golang:1.15.2-alpine AS base WORKDIR /src ENV CGO_ENABLED=0 COPY go.* . -RUN go mod download +RUN --mount=type=cache,target=/go/pkg/mod \ + go mod download FROM base AS build ARG TARGETOS ARG TARGETARCH RUN --mount=target=. \ + --mount=type=cache,target=/go/pkg/mod \ --mount=type=cache,target=/root/.cache/go-build \ GOOS=${TARGETOS} GOARCH=${TARGETARCH} go build -o /out/example . FROM base AS unit-test RUN --mount=target=. \ + --mount=type=cache,target=/go/pkg/mod \ --mount=type=cache,target=/root/.cache/go-build \ mkdir /out && go test -v -coverprofile=/out/cover.out ./... @@ -23,6 +26,7 @@ FROM golangci/golangci-lint:v1.31.0-alpine AS lint-base FROM base AS lint RUN --mount=target=. \ --mount=from=lint-base,src=/usr/bin/golangci-lint,target=/usr/bin/golangci-lint \ + --mount=type=cache,target=/go/pkg/mod \ --mount=type=cache,target=/root/.cache/go-build \ --mount=type=cache,target=/root/.cache/golangci-lint \ golangci-lint run --timeout 10m0s ./...