File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -20,14 +20,14 @@ jobs:
2020 - name : Set up Go
2121 uses : actions/setup-go@v5
2222 with :
23- go-version : ' 1.23 ' # 使用较新的Go版本,可以根据需要调整
23+ go-version : ' 1.20 ' # 使用较低的Go版本以提高兼容性
2424 check-latest : true
2525
2626 - name : Get tag name
2727 id : get_tag
2828 run : echo "TAG=${GITHUB_REF#refs/tags/}" >> $GITHUB_ENV
2929
30- - name : Build binaries
30+ - name : Build macOS and Windows binaries
3131 run : |
3232 # 创建build目录存放二进制文件
3333 mkdir -p builds
@@ -38,11 +38,23 @@ jobs:
3838 # macOS (Apple Silicon)
3939 GOOS=darwin GOARCH=arm64 go build -o builds/tiny-requestbin-${{ env.TAG }}-darwin-arm64 .
4040
41- # Linux (x86_64)
42- GOOS=linux GOARCH=amd64 go build -o builds/tiny-requestbin-${{ env.TAG }}-linux-amd64 .
43-
44- # Linux (ARM64)
45- GOOS=linux GOARCH=arm64 go build -o builds/tiny-requestbin-${{ env.TAG }}-linux-arm64 .
41+ # Windows (x86_64)
42+ GOOS=windows GOARCH=amd64 go build -o builds/tiny-requestbin-${{ env.TAG }}-windows-amd64.exe .
43+
44+ - name : Set up Docker for Linux builds
45+ uses : docker/setup-buildx-action@v3
46+
47+ - name : Build Linux binaries with older glibc
48+ run : |
49+ # 使用 Ubuntu 16.04 (xenial) 容器构建 Linux 二进制文件
50+ # 这将确保兼容较老的 glibc 版本
51+ docker run --rm -v $(pwd):/src -w /src golang:1.20-xenial /bin/bash -c "
52+ # 构建 Linux (x86_64) 二进制文件,启用 CGO 并静态链接
53+ CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -a -ldflags '-extldflags \"-static\"' -o builds/tiny-requestbin-${{ env.TAG }}-linux-amd64 .
54+
55+ # 构建 Linux (ARM64) 二进制文件,启用 CGO 并静态链接
56+ CGO_ENABLED=0 GOOS=linux GOARCH=arm64 go build -a -ldflags '-extldflags \"-static\"' -o builds/tiny-requestbin-${{ env.TAG }}-linux-arm64 .
57+ "
4658
4759 # Windows (x86_64)
4860 GOOS=windows GOARCH=amd64 go build -o builds/tiny-requestbin-${{ env.TAG }}-windows-amd64.exe .
You can’t perform that action at this time.
0 commit comments