From 949631c8d39fbb7722e5cbd6e0fdb3605c9a318f Mon Sep 17 00:00:00 2001 From: palhotel <258838102@qq.com> Date: Tue, 16 Apr 2024 15:49:57 +0800 Subject: [PATCH] Makefile: Enable reusing local Go module cache during compile --- Makefile | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/Makefile b/Makefile index e9dd6f7dd..1ad4125d4 100644 --- a/Makefile +++ b/Makefile @@ -172,6 +172,13 @@ GOBUILDMAKEPATH_JOBSERVICE=$(GOBUILDMAKEPATH)/photon/jobservice GOBUILDMAKEPATH_REGISTRYCTL=$(GOBUILDMAKEPATH)/photon/registryctl GOBUILDMAKEPATH_STANDALONE_DB_MIGRATOR=$(GOBUILDMAKEPATH)/photon/standalone-db-migrator GOBUILDMAKEPATH_EXPORTER=$(GOBUILDMAKEPATH)/photon/exporter +GOBUILDMOD_USE_CACHE=false +ifeq ($(GOBUILDMOD_USE_CACHE),true) + GOMODCACHEPATH=$(shell go env GOMODCACHE) + GOBUILDMOD_CACHE_VOLUME=-v $(GOMODCACHEPATH):/go/pkg/mod +else + GOBUILDMOD_CACHE_VOLUME= +endif # binary CORE_BINARYPATH=$(BUILDPATH)/$(GOBUILDMAKEPATH_CORE) @@ -339,22 +346,22 @@ check_environment: compile_core: gen_apis @echo "compiling binary for core (golang image)..." @echo $(GOBUILDPATHINCONTAINER) - @$(DOCKERCMD) run --rm -v $(BUILDPATH):$(GOBUILDPATHINCONTAINER) -w $(GOBUILDPATH_CORE) $(GOBUILDIMAGE) $(GOIMAGEBUILD_CORE) -o $(GOBUILDPATHINCONTAINER)/$(GOBUILDMAKEPATH_CORE)/$(CORE_BINARYNAME) + @$(DOCKERCMD) run --rm $(GOBUILDMOD_CACHE_VOLUME) -v $(BUILDPATH):$(GOBUILDPATHINCONTAINER) -w $(GOBUILDPATH_CORE) $(GOBUILDIMAGE) $(GOIMAGEBUILD_CORE) -o $(GOBUILDPATHINCONTAINER)/$(GOBUILDMAKEPATH_CORE)/$(CORE_BINARYNAME) @echo "Done." compile_jobservice: @echo "compiling binary for jobservice (golang image)..." - @$(DOCKERCMD) run --rm -v $(BUILDPATH):$(GOBUILDPATHINCONTAINER) -w $(GOBUILDPATH_JOBSERVICE) $(GOBUILDIMAGE) $(GOIMAGEBUILD_COMMON) -o $(GOBUILDPATHINCONTAINER)/$(GOBUILDMAKEPATH_JOBSERVICE)/$(JOBSERVICEBINARYNAME) + @$(DOCKERCMD) run --rm $(GOBUILDMOD_CACHE_VOLUME) -v $(BUILDPATH):$(GOBUILDPATHINCONTAINER) -w $(GOBUILDPATH_JOBSERVICE) $(GOBUILDIMAGE) $(GOIMAGEBUILD_COMMON) -o $(GOBUILDPATHINCONTAINER)/$(GOBUILDMAKEPATH_JOBSERVICE)/$(JOBSERVICEBINARYNAME) @echo "Done." compile_registryctl: @echo "compiling binary for harbor registry controller (golang image)..." - @$(DOCKERCMD) run --rm -v $(BUILDPATH):$(GOBUILDPATHINCONTAINER) -w $(GOBUILDPATH_REGISTRYCTL) $(GOBUILDIMAGE) $(GOIMAGEBUILD_COMMON) -o $(GOBUILDPATHINCONTAINER)/$(GOBUILDMAKEPATH_REGISTRYCTL)/$(REGISTRYCTLBINARYNAME) + @$(DOCKERCMD) run --rm $(GOBUILDMOD_CACHE_VOLUME) -v $(BUILDPATH):$(GOBUILDPATHINCONTAINER) -w $(GOBUILDPATH_REGISTRYCTL) $(GOBUILDIMAGE) $(GOIMAGEBUILD_COMMON) -o $(GOBUILDPATHINCONTAINER)/$(GOBUILDMAKEPATH_REGISTRYCTL)/$(REGISTRYCTLBINARYNAME) @echo "Done." compile_standalone_db_migrator: @echo "compiling binary for standalone db migrator (golang image)..." - @$(DOCKERCMD) run --rm -v $(BUILDPATH):$(GOBUILDPATHINCONTAINER) -w $(GOBUILDPATH_STANDALONE_DB_MIGRATOR) $(GOBUILDIMAGE) $(GOIMAGEBUILD_COMMON) -o $(GOBUILDPATHINCONTAINER)/$(GOBUILDMAKEPATH_STANDALONE_DB_MIGRATOR)/$(STANDALONE_DB_MIGRATOR_BINARYNAME) + @$(DOCKERCMD) run --rm $(GOBUILDMOD_CACHE_VOLUME) -v $(BUILDPATH):$(GOBUILDPATHINCONTAINER) -w $(GOBUILDPATH_STANDALONE_DB_MIGRATOR) $(GOBUILDIMAGE) $(GOIMAGEBUILD_COMMON) -o $(GOBUILDPATHINCONTAINER)/$(GOBUILDMAKEPATH_STANDALONE_DB_MIGRATOR)/$(STANDALONE_DB_MIGRATOR_BINARYNAME) @echo "Done." compile: check_environment versions_prepare compile_core compile_jobservice compile_registryctl