chore: 统一版本管理并添加自动发布工作流
- 将子项目版本号重置为 0.0.0,移除 private 标志 - 在根目录添加主 package.json 用于统一版本控制 - 更新 cwd-api 的包引用路径以使用根目录 package.json - 添加 GitHub Actions 工作流,当根版本号变更时自动创建发布
This commit is contained in:
55
.github/workflows/create_release.yml
vendored
Normal file
55
.github/workflows/create_release.yml
vendored
Normal 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 }}
|
||||
Reference in New Issue
Block a user