Skip to content

Commit 76b0953

Browse files
author
Sisyphus Agent
committed
fix(ci): 修复 GitHub Actions workflow 中缺少 ldflags 的问题
- 为 build job 添加完整的 ldflags(Version, Commit, Date) - 为 release job 的所有平台构建添加完整的 ldflags - 确保 CI 构建的二进制文件包含正确的版本信息
1 parent 22a7ab4 commit 76b0953

1 file changed

Lines changed: 27 additions & 6 deletions

File tree

.github/workflows/go.yml

Lines changed: 27 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -104,8 +104,14 @@ jobs:
104104
env:
105105
GOOS: ${{ matrix.goos }}
106106
GOARCH: ${{ matrix.goarch }}
107+
VERSION: ${{ github.sha }}
108+
COMMIT: ${{ github.sha }}
109+
DATE: ${{ github.event.head_commit.timestamp }}
107110
run: |
108-
go build -ldflags="-s -w" -o bin/${APP_NAME}-${GOOS}-${GOARCH}${{ matrix.goos == 'windows' && '.exe' || '' }} ./cmd
111+
VERSION=$(echo ${GITHUB_SHA::8}) && \
112+
COMMIT=${GITHUB_SHA::8} && \
113+
DATE=$(date -u +%Y-%m-%dT%H:%M:%SZ) && \
114+
go build -ldflags="-s -w -X main.Version=${VERSION} -X main.Commit=${COMMIT} -X main.Date=${DATE}" -o bin/${APP_NAME}-${GOOS}-${GOARCH}${{ matrix.goos == 'windows' && '.exe' || '' }} ./cmd
109115
110116
- name: Upload artifact
111117
uses: actions/upload-artifact@v4
@@ -144,7 +150,10 @@ jobs:
144150
GOARCH: amd64
145151
run: |
146152
mkdir -p dist
147-
go build -ldflags="-s -w -X main.Version=${GITHUB_REF#refs/tags/}" -o "dist/${{ env.APP_NAME }}-linux-amd64" ./cmd
153+
VERSION=${GITHUB_REF#refs/tags/} && \
154+
COMMIT=${GITHUB_SHA::8} && \
155+
DATE=$(date -u +%Y-%m-%dT%H:%M:%SZ) && \
156+
go build -ldflags="-s -w -X main.Version=${VERSION} -X main.Commit=${COMMIT} -X main.Date=${DATE}" -o "dist/${{ env.APP_NAME }}-linux-amd64" ./cmd
148157
cd dist && sha256sum ${{ env.APP_NAME }}-linux-amd64 > ${{ env.APP_NAME }}-linux-amd64.sha256
149158
150159
- name: Build Linux arm64
@@ -154,7 +163,10 @@ jobs:
154163
GOARCH: arm64
155164
run: |
156165
mkdir -p dist
157-
go build -ldflags="-s -w -X main.Version=${GITHUB_REF#refs/tags/}" -o "dist/${{ env.APP_NAME }}-linux-arm64" ./cmd
166+
VERSION=${GITHUB_REF#refs/tags/} && \
167+
COMMIT=${GITHUB_SHA::8} && \
168+
DATE=$(date -u +%Y-%m-%dT%H:%M:%SZ) && \
169+
go build -ldflags="-s -w -X main.Version=${VERSION} -X main.Commit=${COMMIT} -X main.Date=${DATE}" -o "dist/${{ env.APP_NAME }}-linux-arm64" ./cmd
158170
cd dist && sha256sum ${{ env.APP_NAME }}-linux-arm64 > ${{ env.APP_NAME }}-linux-arm64.sha256
159171
160172
- name: Build Windows amd64
@@ -164,7 +176,10 @@ jobs:
164176
GOARCH: amd64
165177
run: |
166178
mkdir -p dist
167-
go build -ldflags="-s -w -X main.Version=${GITHUB_REF#refs/tags/}" -o "dist/${{ env.APP_NAME }}-windows-amd64.exe" ./cmd
179+
VERSION=${GITHUB_REF#refs/tags/} && \
180+
COMMIT=${GITHUB_SHA::8} && \
181+
DATE=$(date -u +%Y-%m-%dT%H:%M:%SZ) && \
182+
go build -ldflags="-s -w -X main.Version=${VERSION} -X main.Commit=${COMMIT} -X main.Date=${DATE}" -o "dist/${{ env.APP_NAME }}-windows-amd64.exe" ./cmd
168183
cd dist && sha256sum ${{ env.APP_NAME }}-windows-amd64.exe > ${{ env.APP_NAME }}-windows-amd64.exe.sha256
169184
170185
- name: Build macOS amd64
@@ -174,7 +189,10 @@ jobs:
174189
GOARCH: amd64
175190
run: |
176191
mkdir -p dist
177-
go build -ldflags="-s -w -X main.Version=${GITHUB_REF#refs/tags/}" -o "dist/${{ env.APP_NAME }}-darwin-amd64" ./cmd
192+
VERSION=${GITHUB_REF#refs/tags/} && \
193+
COMMIT=${GITHUB_SHA::8} && \
194+
DATE=$(date -u +%Y-%m-%dT%H:%M:%SZ) && \
195+
go build -ldflags="-s -w -X main.Version=${VERSION} -X main.Commit=${COMMIT} -X main.Date=${DATE}" -o "dist/${{ env.APP_NAME }}-darwin-amd64" ./cmd
178196
cd dist && sha256sum ${{ env.APP_NAME }}-darwin-amd64 > ${{ env.APP_NAME }}-darwin-amd64.sha256
179197
180198
- name: Build macOS arm64
@@ -184,7 +202,10 @@ jobs:
184202
GOARCH: arm64
185203
run: |
186204
mkdir -p dist
187-
go build -ldflags="-s -w -X main.Version=${GITHUB_REF#refs/tags/}" -o "dist/${{ env.APP_NAME }}-darwin-arm64" ./cmd
205+
VERSION=${GITHUB_REF#refs/tags/} && \
206+
COMMIT=${GITHUB_SHA::8} && \
207+
DATE=$(date -u +%Y-%m-%dT%H:%M:%SZ) && \
208+
go build -ldflags="-s -w -X main.Version=${VERSION} -X main.Commit=${COMMIT} -X main.Date=${DATE}" -o "dist/${{ env.APP_NAME }}-darwin-arm64" ./cmd
188209
cd dist && sha256sum ${{ env.APP_NAME }}-darwin-arm64 > ${{ env.APP_NAME }}-darwin-arm64.sha256
189210
190211
- name: Upload Release Assets

0 commit comments

Comments
 (0)