name: goreleaser on: push: branches: - '*' # 我们不需要在tags上触发 # tags: # - '*' permissions: contents: write jobs: goreleaser: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 with: fetch-depth: 0 - name: Set up Go uses: actions/setup-go@v5 with: go-version-file: go.mod - name: Set Release Version id: set_version run: | RELEASE_DATE=$(date +'%Y%m%d%H%M%S') echo "RELEASE_DATE=$RELEASE_DATE" >> $GITHUB_ENV echo "Release date set to: $RELEASE_DATE" # 创建或更新 latest 标签,指向当前提交 - name: Update latest tag run: | git tag -f latest git push -f origin latest - name: Run GoReleaser uses: goreleaser/goreleaser-action@v6 with: distribution: goreleaser version: latest args: release --clean --snapshot env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Create/Update GitHub Release uses: softprops/action-gh-release@v1 with: name: "最新构建" tag_name: latest files: ./dist/*.tar.gz draft: false prerelease: false env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}