mirror of
https://github.com/watn3y/steamsalty.git
synced 2025-04-19 16:01:22 +02:00
add build script
This commit is contained in:
parent
6be403fc58
commit
a2c4c43eaa
1 changed files with 54 additions and 0 deletions
54
build.sh
Normal file
54
build.sh
Normal file
|
@ -0,0 +1,54 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
|
||||||
|
# Get the current directory name as the project name
|
||||||
|
PROJECT_NAME=$(basename "$PWD")
|
||||||
|
|
||||||
|
# Change to the Go project directory (current directory)
|
||||||
|
cd "$PWD" || exit
|
||||||
|
|
||||||
|
# List of target architectures
|
||||||
|
architectures=(
|
||||||
|
"linux/amd64"
|
||||||
|
"linux/386"
|
||||||
|
"linux/arm64"
|
||||||
|
"linux/arm/v7"
|
||||||
|
"linux/riscv64"
|
||||||
|
"windows/amd64"
|
||||||
|
"darwin/amd64"
|
||||||
|
"darwin/arm64"
|
||||||
|
)
|
||||||
|
|
||||||
|
# Create a build directory if it doesn't exist
|
||||||
|
mkdir -p build
|
||||||
|
|
||||||
|
# Loop over architectures and build for each one
|
||||||
|
for arch in "${architectures[@]}"; do
|
||||||
|
os=$(echo $arch | cut -d '/' -f 1)
|
||||||
|
arch_type=$(echo $arch | cut -d '/' -f 2)
|
||||||
|
|
||||||
|
# Set the output file name using the project name, os, and arch
|
||||||
|
output_file="build/$PROJECT_NAME-$os-$arch_type"
|
||||||
|
|
||||||
|
# Build the app for the specific architecture
|
||||||
|
GOARCH=$arch_type GOOS=$os go build -o "$output_file"
|
||||||
|
|
||||||
|
# Provide feedback to the user
|
||||||
|
if [ $? -eq 0 ]; then
|
||||||
|
echo "Successfully built for $arch: $output_file"
|
||||||
|
|
||||||
|
# Create a tar.gz archive for the individual build
|
||||||
|
tar -czf "$output_file.tar.gz" -C build $(basename "$output_file")
|
||||||
|
if [ $? -eq 0 ]; then
|
||||||
|
echo "Successfully created archive: $output_file.tar.gz"
|
||||||
|
|
||||||
|
# Delete the executable after archiving
|
||||||
|
rm "$output_file"
|
||||||
|
echo "Deleted executable: $output_file"
|
||||||
|
else
|
||||||
|
echo "Failed to create archive for $output_file"
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
echo "Failed to build for $arch"
|
||||||
|
fi
|
||||||
|
done
|
Loading…
Reference in a new issue