Skip to content

ci: 优化发布流程,使用 release-drafter 自动生成发布说明 #20

ci: 优化发布流程,使用 release-drafter 自动生成发布说明

ci: 优化发布流程,使用 release-drafter 自动生成发布说明 #20

Workflow file for this run

name: Publish Release
on:
push:
tags:
- 'v*' # 当推送以 "v" 开头的标签时触发(如 v1.0.0, v2.1.0)
jobs:
update-release-draft:
permissions:
contents: write
pull-requests: write
runs-on: ubuntu-latest
steps:
# Step 1: 检出代码库
- name: Checkout code
uses: actions/checkout@v3
with:
fetch-depth: 0
# Step 2: 使用 release-drafter 生成发布说明
- name: Generate Release Notes
id: release-drafter
uses: release-drafter/release-drafter@v5
with:
config-name: release-drafter.yml
disable-autolabeler: true
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# Step 3: 创建 Release
- name: Create Release
id: create_release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: ${{ github.ref_name }}
release_name: ${{ github.ref_name }}
body: ${{ steps.release-drafter.outputs.body }}
draft: false
prerelease: false
# Step 4: 构建zip文件
- name: Create ZIP file
run: |
zip -r gemini-balance.zip . -x "*.git*" "*.github*" "*.env*" "logs/*" "tests/*"
# Step 5: 上传构建文件
- name: Upload Release Asset
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: ./gemini-balance.zip
asset_name: gemini-balance.zip
asset_content_type: application/zip