-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbuild.sh
More file actions
executable file
·54 lines (42 loc) · 1.34 KB
/
build.sh
File metadata and controls
executable file
·54 lines (42 loc) · 1.34 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
#!/bin/bash
# Git Checkpoint TUI Build Script
# Кросс-компиляция для разных платформ
set -e
# Определение версий
VERSION=${1:-"v1.0.0"}
LDFLAGS="-s -w -X main.version=$VERSION"
# Целевые платформы
PLATFORMS=(
"linux/amd64"
"linux/arm64"
"darwin/amd64"
"darwin/arm64"
"windows/amd64"
"windows/arm"
)
# Создание директории для релиза
mkdir -p dist
echo "🏗️ Сборка Git Checkpoint TUI версии $VERSION"
for PLATFORM in "${PLATFORMS[@]}"; do
GOOS=${PLATFORM%/*}
GOARCH=${PLATFORM#*/}
BINARY_NAME="git-checkpoint"
if [ "$GOOS" = "windows" ]; then
BINARY_NAME="git-checkpoint.exe"
fi
echo "📦 Сборка для $GOOS/$GOARCH..."
GOOS=$GOOS GOARCH=$GOARCH go build -ldflags="$LDFLAGS" -o "dist/$BINARY_NAME-$GOOS-$GOARCH" .
# Создание архива
cd dist
if [ "$GOOS" = "windows" ]; then
zip "$BINARY_NAME-$GOOS-$GOARCH.zip" "$BINARY_NAME-$GOOS-$GOARCH"
else
tar -czf "$BINARY_NAME-$GOOS-$GOARCH.tar.gz" "$BINARY_NAME-$GOOS-$GOARCH"
fi
cd ..
echo "✅ $GOOS/$GOARCH готов"
done
echo ""
echo "🎉 Сборка завершена! Файлы в директории dist/"
echo "📋 Содержимое dist/:"
ls -la dist/