From 41c7d3a3e8449d0d61f6372e0bc521322b932303 Mon Sep 17 00:00:00 2001
From: Will McCutchen <will@mccutch.org>
Date: Wed, 5 May 2021 11:39:13 -0400
Subject: [PATCH] Build docker image in CI

---
 .github/workflows/continuous_delivery.yaml | 5 ++++-
 Dockerfile                                 | 4 +++-
 Makefile                                   | 2 +-
 3 files changed, 8 insertions(+), 3 deletions(-)

diff --git a/.github/workflows/continuous_delivery.yaml b/.github/workflows/continuous_delivery.yaml
index 3800606..cfcf7f7 100644
--- a/.github/workflows/continuous_delivery.yaml
+++ b/.github/workflows/continuous_delivery.yaml
@@ -29,11 +29,14 @@ jobs:
     - name: Build
       run: make build
 
+    - name: Build docker image
+      run: make image
+
     - name: Lint
       run: make lint
 
     - name: Test
-      run: git show && make testci
+      run: git show --stat && make testci
 
     - name: Code coverage
       uses: codecov/codecov-action@v1
diff --git a/Dockerfile b/Dockerfile
index b8df744..ed21293 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,3 +1,4 @@
+# syntax = docker/dockerfile:1-experimental
 FROM golang:1.16
 
 WORKDIR /go/src/github.com/mccutchen/go-httpbin
@@ -6,7 +7,8 @@ WORKDIR /go/src/github.com/mccutchen/go-httpbin
 RUN cd /tmp && go get -u github.com/kevinburke/go-bindata/...
 
 COPY . .
-RUN make build buildtests
+RUN --mount=type=cache,id=gobuild,target=/root/.cache/go-build \
+    make build buildtests
 
 FROM gcr.io/distroless/base
 COPY --from=0 /go/src/github.com/mccutchen/go-httpbin/dist/go-httpbin* /bin/
diff --git a/Makefile b/Makefile
index eaf2521..e84fb46 100644
--- a/Makefile
+++ b/Makefile
@@ -142,7 +142,7 @@ gcloud-auth:
 # docker images
 # =============================================================================
 image:
-	docker build -t $(DOCKER_TAG_DOCKERHUB) .
+	DOCKER_BUILDKIT=1 docker build -t $(DOCKER_TAG_DOCKERHUB) .
 
 imagepush: image
 	docker push $(DOCKER_TAG_DOCKERHUB)
-- 
GitLab