Skip to content

Commit e8880b7

Browse files
committed
fix binary glibc issue
1 parent c5e9f67 commit e8880b7

1 file changed

Lines changed: 19 additions & 7 deletions

File tree

.github/workflows/release.yml

Lines changed: 19 additions & 7 deletions
Original file line numberDiff line numberDiff 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 .

0 commit comments

Comments
 (0)