From e758fb800befc36185b49f7ab8c21223ff476d8c Mon Sep 17 00:00:00 2001
From: EXEC <execvy@gmail.com>
Date: Mon, 2 May 2022 12:55:16 +0800
Subject: [PATCH] Speed up docker image build by use layer cache (#4038)

* speed up docker image build by use layer cache

* rearrenge Dockerfile

* enable docker layer cache in github action
---
 .github/workflows/ci.yml | 7 +++++++
 Dockerfile               | 7 +++++++
 2 files changed, 14 insertions(+)

diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 76ab6cf18e..7cc7322187 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -76,4 +76,11 @@ jobs:
     steps:
       - uses: actions/checkout@v3
       - run: git submodule update --init --recursive --force
+
+      # In this step, this action saves a list of existing images,
+      # the cache is created without them in the post run.
+      # It also restores the cache if it exists.
+      - uses: satackey/action-docker-layer-caching@v0.0.11
+        continue-on-error: false
+
       - run: docker build .
diff --git a/Dockerfile b/Dockerfile
index a9836e39f3..52f6848a82 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -4,6 +4,13 @@ FROM docker.io/library/golang:1.18-alpine3.15 AS builder
 RUN apk --no-cache add make gcc g++ linux-headers git bash ca-certificates libgcc libstdc++
 
 WORKDIR /app
+
+# Get dependencies - will also be cached if we won't change go.mod/go.sum
+COPY go.mod .
+COPY go.sum .
+RUN go mod download
+
+
 ADD . .
 
 RUN make erigon rpcdaemon integration sentry txpool downloader hack observer db-tools
-- 
GitLab