Files
cwd/.github/workflows/create_release.yml
anghunk 13f5d51079 ci: 精简 GitHub Actions 工作流名称并删除冗余 LICENSE 文件
- 缩短工作流名称以提升可读性
- 删除文档目录下重复的许可证文件
2026-01-31 11:54:25 +08:00

56 lines
1.5 KiB
YAML

name: Create Release
on:
push:
branches:
- main
workflow_dispatch:
jobs:
check-release:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Set up Node.js
uses: actions/setup-node@v3
with:
node-version: '22'
- name: Get package.json version
id: get_version
run: echo "PACKAGE_VERSION=$(node -p "require('./package.json').version")" >> $GITHUB_ENV
- name: Get latest release version
id: get_release
run: |
curl -s https://api.github.com/repos/${{ github.repository }}/releases/latest | jq -r '.tag_name' > latest_release.txt
- name: Compare versions
id: compare_versions
run: |
LATEST_TAG="$(cat latest_release.txt 2>/dev/null || echo "")"
if [ "$LATEST_TAG" = "null" ]; then
LATEST_TAG=""
fi
NORMALIZED_LATEST="${LATEST_TAG#v}"
NORMALIZED_LATEST="${NORMALIZED_LATEST#V}"
if [ "$NORMALIZED_LATEST" != "$PACKAGE_VERSION" ]; then
echo "Version mismatch"
echo "create_release=true" >> $GITHUB_ENV
else
echo "Version matches"
echo "create_release=false" >> $GITHUB_ENV
fi
- name: Create new release
if: env.create_release == 'true'
run: |
TAG_NAME="v$PACKAGE_VERSION"
gh release create "$TAG_NAME" \
--generate-notes \
-t "$TAG_NAME"
env:
GITHUB_TOKEN: ${{ secrets.ACCESS_TOKEN }}