Skip to content

Commit bc3a1cc

Browse files
committed
Remove go mod download step
`go build` will automatically download module dependencies. In many cases, that is a much smaller set of modules than what is downloaded by `go mod download`. Size of GOMODCACHE with `go mod download: $ go clean -i -r -cache -modcache $ go mod download $ du -sh ~/go/pkg/mod 186M /home/jun/go/pkg/mod Size of GOMODCACHE with `go build`: $ go clean -i -r -cache -modcache $ CGO_ENABLED=0 go build -ldflags="-s -w" cmd/github-mcp-server/main.go go: downloading github.com/spf13/viper v1.20.1 go: downloading github.com/mark3labs/mcp-go v0.18.0 go: downloading github.com/google/go-github/v69 v69.2.0 go: downloading github.com/sirupsen/logrus v1.9.3 go: downloading github.com/spf13/cobra v1.9.1 go: downloading golang.org/x/sys v0.31.0 go: downloading github.com/spf13/afero v1.14.0 go: downloading github.com/fsnotify/fsnotify v1.8.0 go: downloading github.com/spf13/cast v1.7.1 go: downloading github.com/go-viper/mapstructure/v2 v2.2.1 go: downloading github.com/subosito/gotenv v1.6.0 go: downloading gopkg.in/yaml.v3 v3.0.1 go: downloading github.com/spf13/pflag v1.0.6 go: downloading github.com/pelletier/go-toml/v2 v2.2.3 go: downloading github.com/sagikazarmark/locafero v0.9.0 go: downloading golang.org/x/text v0.23.0 go: downloading github.com/google/uuid v1.6.0 go: downloading github.com/yosida95/uritemplate/v3 v3.0.2 go: downloading github.com/sourcegraph/conc v0.3.0 go: downloading github.com/google/go-querystring v1.1.0 $ du -sh ~/go/pkg/mod 80M /home/jun/go/pkg/mod Reference: https://stackoverflow.com/a/68172023/7902371 Signed-off-by: Eng Zer Jun <[email protected]>
1 parent db3d8f7 commit bc3a1cc

File tree

1 file changed

+1
-6
lines changed

1 file changed

+1
-6
lines changed

Dockerfile

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,8 @@ WORKDIR /build
88
RUN --mount=type=cache,target=/var/cache/apk \
99
apk add git
1010

11-
# Install dependencies
12-
RUN --mount=type=cache,target=/go/pkg/mod \
13-
--mount=type=bind,source=go.mod,target=go.mod \
14-
--mount=type=bind,source=go.sum,target=go.sum \
15-
go mod download
16-
1711
# Build the server
12+
# go build automatically download required module dependencies to /go/pkg/mod
1813
RUN --mount=type=cache,target=/go/pkg/mod \
1914
--mount=type=cache,target=/root/.cache/go-build \
2015
--mount=type=bind,target=. \

0 commit comments

Comments
 (0)