@@ -57,13 +57,21 @@ jobs:
5757 - name : Cache Go modules
5858 uses : actions/cache@v4
5959 with :
60- path : ~/go/pkg/mod
61- key : ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }}
60+ path : |
61+ ~/.cache/go-build
62+ ~/go/pkg/mod
63+ key : ${{ runner.os }}-go-${{ matrix.goos }}-${{ matrix.goarch }}-${{ hashFiles('**/go.sum') }}-${{ hashFiles('**/go.mod') }}
6264 restore-keys : |
65+ ${{ runner.os }}-go-${{ matrix.goos }}-${{ matrix.goarch }}-
6366 ${{ runner.os }}-go-
67+ fail-on-cache-miss : false
6468
6569 - name : Download dependencies
66- run : go mod download
70+ run : |
71+ go mod download
72+ go mod tidy
73+ go mod verify || true
74+ # 如果verify失败,继续构建,因为可能是CI环境中的临时问题
6775
6876 - name : Build
6977 env :
7482 run : |
7583 mkdir -p dist
7684 output_name="${{ matrix.filename }}"
77- go build -ldflags="-s -w -X main.version=${{ github.ref_name }}" -o "dist/${output_name}" .
85+ # 确保在构建前重新同步依赖
86+ go mod download
87+ go build -mod=readonly -ldflags="-s -w -X main.version=${{ github.ref_name }}" -o "dist/${output_name}" .
7888
7989 - name : Create archive
8090 run : |
@@ -122,17 +132,18 @@ jobs:
122132 # 获取上一个tag
123133 PREVIOUS_TAG=$(git describe --tags --abbrev=0 HEAD^ 2>/dev/null || echo "")
124134 if [ -n "$PREVIOUS_TAG" ]; then
125- echo "## 更新内容" > CHANGELOG.md
126- echo "" >> CHANGELOG.md
127- git log --pretty=format:"- %s (%h)" $PREVIOUS_TAG..HEAD >> CHANGELOG.md
135+ echo "changelog<<EOF" >> $GITHUB_OUTPUT
136+ echo "## 更新内容" >> $GITHUB_OUTPUT
137+ echo "" >> $GITHUB_OUTPUT
138+ git log --pretty=format:"- %s (%h)" $PREVIOUS_TAG..HEAD >> $GITHUB_OUTPUT
139+ echo "EOF" >> $GITHUB_OUTPUT
128140 else
129- echo "## 首次发布" > CHANGELOG.md
130- echo "" >> CHANGELOG.md
131- git log --pretty=format:"- %s (%h)" >> CHANGELOG.md
141+ echo "changelog<<EOF" >> $GITHUB_OUTPUT
142+ echo "## 首次发布" >> $GITHUB_OUTPUT
143+ echo "" >> $GITHUB_OUTPUT
144+ git log --pretty=format:"- %s (%h)" >> $GITHUB_OUTPUT
145+ echo "EOF" >> $GITHUB_OUTPUT
132146 fi
133- echo "changelog<<EOF" >> $GITHUB_OUTPUT
134- cat CHANGELOG.md >> $GITHUB_OUTPUT
135- echo "EOF" >> $GITHUB_OUTPUT
136147
137148 - name : Create Release
138149 uses : softprops/action-gh-release@v2
0 commit comments