export CGO_ENABLED=0

The configuration used by goreleaser (which we previously used to build the
release binaries) had set CGO_ENABLED=0. Since we don't specifically need this
to be on, revert to that configuration.

Also add a few more go build flags to reduce the size of the produced binaries

Ref:
- https://github.com/wangyoucao577/go-release-action/issues/33
- https://github.com/wangyoucao577/go-release-action
- https://github.com/ente-io/cli/blob/main/.goreleaser.yaml#L18

Related:
- https://github.com/ente-io/ente/issues/727
This commit is contained in:
Manav Rathi 2024-03-07 11:56:54 +05:30
parent b70ca6bec2
commit 2101d06d32
2 changed files with 5 additions and 1 deletions

View file

@ -47,5 +47,8 @@ jobs:
release_name: ${{ github.ref_name }} release_name: ${{ github.ref_name }}
goversion: "1.20" goversion: "1.20"
project_path: "./cli" project_path: "./cli"
pre_command: export CGO_ENABLED=0
build_flags: "-trimpath"
ldflags: "-s -w"
md5sum: false md5sum: false
sha256sum: true sha256sum: true

View file

@ -9,6 +9,7 @@ OS_TARGETS=("windows" "linux" "darwin")
# Corresponding architectures for each OS # Corresponding architectures for each OS
ARCH_TARGETS=("386 amd64" "386 amd64 arm arm64" "amd64 arm64") ARCH_TARGETS=("386 amd64" "386 amd64 arm arm64" "amd64 arm64")
export CGO_ENABLED=0
# Loop through each OS target # Loop through each OS target
for index in "${!OS_TARGETS[@]}" for index in "${!OS_TARGETS[@]}"
do do
@ -28,7 +29,7 @@ do
fi fi
# Build the binary and place it in the "bin" directory # Build the binary and place it in the "bin" directory
go build -o "bin/$BINARY_NAME" main.go go build -ldflags="-s -w" -trimpath -o "bin/$BINARY_NAME" main.go
# Print a message indicating the build is complete for the current OS and architecture # Print a message indicating the build is complete for the current OS and architecture
echo "Built for $OS ($ARCH) as bin/$BINARY_NAME" echo "Built for $OS ($ARCH) as bin/$BINARY_NAME"