Release: Build binary for all standard os+arch
This commit is contained in:
parent
8a7278b5e6
commit
2ffeda16c8
1 changed files with 22 additions and 24 deletions
46
release.sh
46
release.sh
|
@ -6,40 +6,38 @@ mkdir -p bin
|
|||
# List of target operating systems
|
||||
OS_TARGETS=("windows" "linux" "darwin")
|
||||
|
||||
# Corresponding architectures for each OS
|
||||
ARCH_TARGETS=("386 amd64" "386 amd64 arm arm64" "amd64 arm64")
|
||||
|
||||
# Loop through each OS target
|
||||
for OS in "${OS_TARGETS[@]}"
|
||||
for index in "${!OS_TARGETS[@]}"
|
||||
do
|
||||
# Set the GOOS environment variable for the current target OS
|
||||
export GOOS="$OS"
|
||||
OS=${OS_TARGETS[$index]}
|
||||
for ARCH in ${ARCH_TARGETS[$index]}
|
||||
do
|
||||
# Set the GOOS environment variable for the current target OS
|
||||
export GOOS="$OS"
|
||||
export GOARCH="$ARCH"
|
||||
|
||||
# Set the output binary name to "ente-cli" for the current OS
|
||||
BINARY_NAME="ente-cli"
|
||||
|
||||
# Add .exe extension for Windows
|
||||
if [ "$OS" == "windows" ]; then
|
||||
BINARY_NAME="ente-cli.exe"
|
||||
fi
|
||||
# Set the output binary name to "ente-cli" for the current OS and architecture
|
||||
BINARY_NAME="ente-cli-$OS-$ARCH"
|
||||
|
||||
# Add .exe extension for Windows
|
||||
if [ "$OS" == "darwin" ]; then
|
||||
BINARY_NAME="ente-cli-mac"
|
||||
fi
|
||||
if [ "$OS" == "windows" ]; then
|
||||
BINARY_NAME="ente-cli-$OS-$ARCH.exe"
|
||||
fi
|
||||
|
||||
if [ "$OS" == "linux" ]; then
|
||||
BINARY_NAME="ente-cli-linux"
|
||||
fi
|
||||
# make bin directory if it doesn't exist
|
||||
mkdir -p bin
|
||||
# Build the binary and place it in the "bin" directory
|
||||
go build -o "bin/$BINARY_NAME" main.go
|
||||
|
||||
# Build the binary and place it in the "bin" directory
|
||||
go build -o "bin/$BINARY_NAME" main.go
|
||||
|
||||
# Print a message indicating the build is complete for the current OS
|
||||
echo "Built for $OS as bin/$BINARY_NAME"
|
||||
# Print a message indicating the build is complete for the current OS and architecture
|
||||
echo "Built for $OS ($ARCH) as bin/$BINARY_NAME"
|
||||
done
|
||||
done
|
||||
|
||||
# Clean up any environment variables
|
||||
unset GOOS
|
||||
unset GOARCH
|
||||
|
||||
# Print a message indicating the build process is complete
|
||||
echo "Build process completed for all platforms. Binaries are in the 'bin' directory."
|
||||
echo "Build process completed for all platforms and architectures. Binaries are in the 'bin' directory."
|
||||
|
|
Loading…
Reference in a new issue