From 37d1e9fbfc13421fee7e19a26d3ec839341852e4 Mon Sep 17 00:00:00 2001 From: Caleb Xu Date: Wed, 18 Mar 2026 11:42:52 -0400 Subject: [PATCH] Reduce binary size using -s -w ldflags Signed-off-by: Caleb Xu --- .goreleaser.yml | 2 +- Dockerfile | 2 +- Dockerfile-Windows | 2 +- changelogs/unreleased/9627-caxu-rh | 1 + hack/build.sh | 3 ++- 5 files changed, 6 insertions(+), 4 deletions(-) create mode 100644 changelogs/unreleased/9627-caxu-rh diff --git a/.goreleaser.yml b/.goreleaser.yml index 0ff87e36a9..35bd122df5 100644 --- a/.goreleaser.yml +++ b/.goreleaser.yml @@ -44,7 +44,7 @@ builds: - goos: windows goarch: s390x ldflags: - - -X "github.com/vmware-tanzu/velero/pkg/buildinfo.Version={{ .Tag }}" -X "github.com/vmware-tanzu/velero/pkg/buildinfo.GitSHA={{ .FullCommit }}" -X "github.com/vmware-tanzu/velero/pkg/buildinfo.GitTreeState={{ .Env.GIT_TREE_STATE }}" -X "github.com/vmware-tanzu/velero/pkg/buildinfo.ImageRegistry={{ .Env.REGISTRY }}" + - -s -w -X "github.com/vmware-tanzu/velero/pkg/buildinfo.Version={{ .Tag }}" -X "github.com/vmware-tanzu/velero/pkg/buildinfo.GitSHA={{ .FullCommit }}" -X "github.com/vmware-tanzu/velero/pkg/buildinfo.GitTreeState={{ .Env.GIT_TREE_STATE }}" -X "github.com/vmware-tanzu/velero/pkg/buildinfo.ImageRegistry={{ .Env.REGISTRY }}" archives: - name_template: "{{ .ProjectName }}-{{ .Tag }}-{{ .Os }}-{{ .Arch }}" wrap_in_directory: true diff --git a/Dockerfile b/Dockerfile index 6ce46ca3b4..4a1609c0de 100644 --- a/Dockerfile +++ b/Dockerfile @@ -32,7 +32,7 @@ ENV CGO_ENABLED=0 \ GOOS=${TARGETOS} \ GOARCH=${TARGETARCH} \ GOARM=${TARGETVARIANT} \ - LDFLAGS="-X ${PKG}/pkg/buildinfo.Version=${VERSION} -X ${PKG}/pkg/buildinfo.GitSHA=${GIT_SHA} -X ${PKG}/pkg/buildinfo.GitTreeState=${GIT_TREE_STATE} -X ${PKG}/pkg/buildinfo.ImageRegistry=${REGISTRY}" + LDFLAGS="-s -w -X ${PKG}/pkg/buildinfo.Version=${VERSION} -X ${PKG}/pkg/buildinfo.GitSHA=${GIT_SHA} -X ${PKG}/pkg/buildinfo.GitTreeState=${GIT_TREE_STATE} -X ${PKG}/pkg/buildinfo.ImageRegistry=${REGISTRY}" WORKDIR /go/src/github.com/vmware-tanzu/velero diff --git a/Dockerfile-Windows b/Dockerfile-Windows index ac22531dc1..50d5f27d07 100644 --- a/Dockerfile-Windows +++ b/Dockerfile-Windows @@ -34,7 +34,7 @@ ENV CGO_ENABLED=0 \ GOOS=${TARGETOS} \ GOARCH=${TARGETARCH} \ GOARM=${TARGETVARIANT} \ - LDFLAGS="-X ${PKG}/pkg/buildinfo.Version=${VERSION} -X ${PKG}/pkg/buildinfo.GitSHA=${GIT_SHA} -X ${PKG}/pkg/buildinfo.GitTreeState=${GIT_TREE_STATE} -X ${PKG}/pkg/buildinfo.ImageRegistry=${REGISTRY}" + LDFLAGS="-s -w -X ${PKG}/pkg/buildinfo.Version=${VERSION} -X ${PKG}/pkg/buildinfo.GitSHA=${GIT_SHA} -X ${PKG}/pkg/buildinfo.GitTreeState=${GIT_TREE_STATE} -X ${PKG}/pkg/buildinfo.ImageRegistry=${REGISTRY}" WORKDIR /go/src/github.com/vmware-tanzu/velero diff --git a/changelogs/unreleased/9627-caxu-rh b/changelogs/unreleased/9627-caxu-rh new file mode 100644 index 0000000000..dddb3cc61c --- /dev/null +++ b/changelogs/unreleased/9627-caxu-rh @@ -0,0 +1 @@ +Reduce binary size using -s -w ldflags diff --git a/hack/build.sh b/hack/build.sh index 064b583ef4..27614f4c10 100755 --- a/hack/build.sh +++ b/hack/build.sh @@ -67,7 +67,8 @@ fi export CGO_ENABLED=0 -LDFLAGS="-X ${PKG}/pkg/buildinfo.Version=${VERSION}" +LDFLAGS="-s -w" +LDFLAGS="${LDFLAGS} -X ${PKG}/pkg/buildinfo.Version=${VERSION}" LDFLAGS="${LDFLAGS} -X ${PKG}/pkg/buildinfo.ImageRegistry=${REGISTRY}" LDFLAGS="${LDFLAGS} -X ${PKG}/pkg/buildinfo.GitSHA=${GIT_SHA}" LDFLAGS="${LDFLAGS} -X ${PKG}/pkg/buildinfo.GitTreeState=${GIT_TREE_STATE}"