mirror of
https://gitee.com/zoujingli/WeChatDeveloper.git
synced 2025-04-05 01:42:45 +08:00
fix: 增加 GithubActions 配置脚本
This commit is contained in:
parent
92fda9036b
commit
d05f53e548
65
.github/workflows/release.yml
vendored
Normal file
65
.github/workflows/release.yml
vendored
Normal file
@ -0,0 +1,65 @@
|
|||||||
|
on:
|
||||||
|
push:
|
||||||
|
# Sequence of patterns matched against refs/tags
|
||||||
|
tags:
|
||||||
|
- 'v*' # Push events to matching v*, i.e. v1.0, v20.15.10
|
||||||
|
|
||||||
|
name: Create Release
|
||||||
|
permissions: write-all
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
release:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Checkout code
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
fetch-depth: 0
|
||||||
|
|
||||||
|
- name: Setup Node.js
|
||||||
|
uses: actions/setup-node@v4
|
||||||
|
with:
|
||||||
|
node-version: 18
|
||||||
|
|
||||||
|
- name: Install dependencies
|
||||||
|
run: npm install -g gen-git-log
|
||||||
|
|
||||||
|
- name: Find Last Tag
|
||||||
|
id: last_tag
|
||||||
|
run: |
|
||||||
|
|
||||||
|
# 获取所有标签,按版本排序(降序)
|
||||||
|
Tags=$(git tag --list --sort=-version:refname)
|
||||||
|
|
||||||
|
# 获取最新的标签(即列表中的第一个)
|
||||||
|
LATEST_TAG=$(echo "$Tags" | awk 'NR==1 {print $1; exit}')
|
||||||
|
|
||||||
|
# 获取倒数第二个标签(如果存在)
|
||||||
|
if [[ -n "$Tags" ]]; then
|
||||||
|
# 使用 tail 获取除了最后一个标签之外的所有标签,然后用 head 获取第一个
|
||||||
|
SECOND_LATEST_TAG=$(echo "$Tags" | tail -n +2 | head -n 1)
|
||||||
|
else
|
||||||
|
SECOND_LATEST_TAG=""
|
||||||
|
fi
|
||||||
|
|
||||||
|
# 设置输出变量
|
||||||
|
echo "::set-output name=tag_last::${LATEST_TAG:-v1.0.0}"
|
||||||
|
echo "::set-output name=tag_second::${SECOND_LATEST_TAG:-v1.0.0}"
|
||||||
|
|
||||||
|
- name: Generate Release Notes
|
||||||
|
run: |
|
||||||
|
rm -rf log
|
||||||
|
newTag=${{ steps.last_tag.outputs.tag_last }}
|
||||||
|
git-log -m tag -f -S ${{ steps.last_tag.outputs.tag_second }} -v ${newTag#v}
|
||||||
|
|
||||||
|
- name: Create Release
|
||||||
|
id: create_release
|
||||||
|
uses: actions/create-release@v1
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
with:
|
||||||
|
tag_name: ${{ steps.last_tag.outputs.tag_last }}
|
||||||
|
release_name: Release ${{ steps.last_tag.outputs.tag_last }}
|
||||||
|
body_path: log/${{steps.last_tag.outputs.tag_last}}.md
|
||||||
|
draft: false
|
||||||
|
prerelease: false
|
Loading…
x
Reference in New Issue
Block a user