chore: 统一版本管理并添加自动发布工作流

- 将子项目版本号重置为 0.0.0,移除 private 标志
- 在根目录添加主 package.json 用于统一版本控制
- 更新 cwd-api 的包引用路径以使用根目录 package.json
- 添加 GitHub Actions 工作流,当根版本号变更时自动创建发布
This commit is contained in:
anghunk
2026-01-27 16:22:54 +08:00
parent b599965cb3
commit b559d0da4c
6 changed files with 75 additions and 7 deletions

55
.github/workflows/create_release.yml vendored Normal file
View File

@@ -0,0 +1,55 @@
name: Check and 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 }}