Skip to content

Commit 9f672eb

Browse files
committed
默认编译出来的程序为release模式
1 parent 77dd7d6 commit 9f672eb

File tree

2 files changed

+50
-16
lines changed

2 files changed

+50
-16
lines changed

.github/workflows/build.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ jobs:
2424
- name: Grant execute permission for build.sh
2525
run: chmod +x ./build.sh
2626
- name: Build
27-
run: ./build.sh
27+
run: ./build.sh release
2828
- name: Upload build GoFileService-linux-amd64
2929
uses: actions/upload-artifact@v3
3030
with:

build.sh

Lines changed: 49 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,15 @@
11
#!/bin/bash
22

3+
4+
# 检查第一个参数是否是 is "release"
5+
if [ "$1" == "release" ] || [ "$1" == "r" ]; then
6+
MODE_FLAG="-X main.mod=release"
7+
else
8+
MODE_FLAG="-X main.mod=debug"
9+
fi
10+
11+
12+
313
REPO_NAME=$(basename $(git rev-parse --show-toplevel))
414

515
# 获取最新提交的哈希值
@@ -35,30 +45,48 @@ fi
3545
# 其他变量
3646
GIT_HASH=$(git rev-parse HEAD)
3747
BUILD_DATE=$(date +%Y-%m-%dT%H:%M:%S)
38-
LD_FLAGS="-X main.version=$VERSION -X main.buildDate=$BUILD_DATE -X main.gitHash=$GIT_HASH"
39-
40-
echo "REPO_NAME=$REPO_NAME"
41-
echo "VERSION=$VERSION"
42-
echo "BUILD_DATE=$BUILD_DATE"
43-
echo "GIT_HASH=$GIT_HASH"
44-
45-
echo "Building $REPO_NAME-linux-arm"
46-
48+
LD_FLAGS="-X main.version=$VERSION -X main.buildDate=$BUILD_DATE -X main.gitHash=$GIT_HASH $MODE_FLAG"
49+
50+
# 打印信息
51+
echo "=============================================="
52+
echo " BUILD INFORMATION"
53+
echo "=============================================="
54+
echo ""
55+
echo "REPO_NAME: $REPO_NAME"
56+
echo "VERSION: $VERSION"
57+
echo "BUILD_DATE: $BUILD_DATE"
58+
echo "GIT_HASH: $GIT_HASH"
59+
echo "MODE_FLAG: $MODE_FLAG"
60+
echo ""
61+
echo "=============================================="
62+
echo " BUILD PROCESS"
63+
echo "=============================================="
64+
65+
66+
# 编译流程
67+
echo "Running 'go mod tidy'"
4768
go mod tidy
4869

49-
# 编译 ARM、x64 的 Linux 版本
70+
# Build ARM Linux version
71+
echo "Building $REPO_NAME-linux-arm"
5072
GOOS=linux GOARCH=arm go build -ldflags "$LD_FLAGS" -o "output/$REPO_NAME-linux-arm" ./...
5173

74+
# Build AMD64 Linux version
5275
echo "Building $REPO_NAME-linux-amd64"
5376
GOOS=linux GOARCH=amd64 go build -ldflags "$LD_FLAGS" -o "output/$REPO_NAME-linux-amd64" ./...
5477

78+
# Build Windows AMD64 version with .exe extension
5579
echo "Building $REPO_NAME-windows-amd64.exe"
56-
# 编译 x64 的 Windows 版本并附加 .exe 扩展名
5780
GOOS=windows GOARCH=amd64 go build -ldflags "$LD_FLAGS" -o "output/$REPO_NAME-windows-amd64.exe" ./...
5881

82+
# 进入output目录
5983
cd "output"
6084

61-
# 打包输出文件并携带 .env 和 auth.yaml 文件
85+
# 将 .env 和 auth.yaml 打包到输出产物
86+
echo "=============================================="
87+
echo " PACKAGING"
88+
echo "=============================================="
89+
echo ""
6290
echo "Packaging $REPO_NAME-linux-arm.tar.gz"
6391
tar -czf "$REPO_NAME-linux-arm.tar.gz" "$REPO_NAME-linux-arm" ../.env ../auth.yaml
6492

@@ -68,8 +96,14 @@ tar -czf "$REPO_NAME-linux-amd64.tar.gz" "$REPO_NAME-linux-amd64" ../.env ../aut
6896
echo "Packaging $REPO_NAME-windows-amd64.tar.gz"
6997
tar -czf "$REPO_NAME-windows-amd64.tar.gz" "$REPO_NAME-windows-amd64.exe" ../.env ../auth.yaml
7098

71-
rm "$REPO_NAME-linux-arm"
72-
rm "$REPO_NAME-linux-amd64"
73-
rm "$REPO_NAME-windows-amd64.exe"
99+
# 清理临时文件
100+
echo "=============================================="
101+
echo " CLEAN UP"
102+
echo "=============================================="
103+
echo ""
104+
echo "Removing temporary files"
105+
#rm "$REPO_NAME-linux-arm"
106+
#rm "$REPO_NAME-linux-amd64"
107+
#rm "$REPO_NAME-windows-amd64.exe"
74108

75109
echo "Packaging complete!"

0 commit comments

Comments
 (0)