Files
AllinSSL/.github/workflows/goreleaser.yml
YANGJINZE 2e20858156 debug ci
2025-05-15 14:56:50 +08:00

70 lines
1.8 KiB
YAML

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
# 创建语义化版本标签 v1.0.0-yyyyMMddHHmmss
echo "VERSION=v1.0.0-$RELEASE_DATE" >> $GITHUB_ENV
echo "Release date set to: $RELEASE_DATE"
# 创建或更新标签,指向当前提交
-
name: Update Git Tag
run: |
# 删除远程的latest标签(如果存在)
git push origin :refs/tags/latest || true
# 创建新的语义化标签
git tag -f $VERSION
git tag -f latest
# 推送标签到远程
git push -f origin $VERSION
git push -f origin latest
-
name: Run GoReleaser
uses: goreleaser/goreleaser-action@v6
with:
distribution: goreleaser
version: latest
args: release --clean
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 }}