From 31cd3641d61e7ec8a668f41db009be531d39bcbe Mon Sep 17 00:00:00 2001 From: Aiden-FE Date: Mon, 18 Mar 2024 19:30:29 +0800 Subject: [PATCH] chore: support create tag and release on ci --- .github/workflows/publish-and-deploy.yml | 43 ++++++++++++++++++++---- 1 file changed, 37 insertions(+), 6 deletions(-) diff --git a/.github/workflows/publish-and-deploy.yml b/.github/workflows/publish-and-deploy.yml index 8174d91..c8a982a 100644 --- a/.github/workflows/publish-and-deploy.yml +++ b/.github/workflows/publish-and-deploy.yml @@ -20,10 +20,13 @@ jobs: runs-on: ubuntu-latest steps: # 签出分支 - - name: Checkout Repository - uses: actions/checkout@v3 - with: - fetch-depth: 2 + - uses: actions/checkout@v4 + + # 设置 git + - name: Setup git + run: | + git config --local user.email aiden_fe@users.noreply.github.com + git config --local user.name AidenFEBot # 获取tag版本 # - name: Get the version @@ -56,23 +59,51 @@ jobs: SKIP_INSTALL_SIMPLE_GIT_HOOKS: 1 SKIP_SIMPLE_GIT_HOOKS: 1 run: | - pnpm install + pnpm install --frozen-lockfile + + # 同步版本及推送标签 + - name: Bump version and push tag + id: tag_version + uses: mathieudutour/github-tag-action@v6.2 + with: + github_token: ${{ secrets.GITHUB_TOKEN }} + + # 更新npm版本 + - name: Updated version + run: | + npm pkg set version=${{ steps.tag_version.outputs.new_version }} + git add -A + git commit -m "chore: published tag ${{ steps.tag_version.outputs.new_tag }}" # 构建项目 - name: Run build env: NODE_ENV: production - NODE_OPTIONS: --max_old_space_size=8192 run: | pnpm build pnpm build:doc + # 创建Github release + - name: Create a GitHub release + uses: ncipollo/release-action@v1 + with: + tag: ${{ steps.tag_version.outputs.new_tag }} + name: Release ${{ steps.tag_version.outputs.new_tag }} + body: ${{ steps.tag_version.outputs.changelog }} + # 发布npm包 - name: Publish uses: JS-DevTools/npm-publish@v3 with: token: ${{ secrets.NPM_AUTH_TOKEN }} + # 推送变更至仓库 + - name: Push changes + uses: ad-m/github-push-action@master + with: + github_token: ${{ secrets.GITHUB_TOKEN }} + branch: ${{ github.ref }} + # 部署文档 - name: Deploy GitHub Pages site uses: JamesIves/github-pages-deploy-action@v4