# 当具有 publish 标签的 PR 被合并时，自动发布新版本
# Automatically publish a new version when a PR with the publish label is merged
name: Auto Publish
on:
  pull_request:
    types: [closed]
    branches:
      - v5

jobs:
  publish:
    runs-on: ubuntu-latest
    if: contains(github.event.pull_request.labels.*.name, 'publish') && github.event.pull_request.merged == true

    steps:
      - uses: actions/checkout@v3

      - name: Install Node.js
        uses: actions/setup-node@v3
        with:
          node-version: 18

      - name: Install pnpm and dependencies
        uses: pnpm/action-setup@v4
        with:
          version: 9
          run_install: true

      - name: Build
        run: npm run build

      - name: Publish
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
          NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
        run: pnpm config set //registry.npmjs.org/:_authToken ${NPM_TOKEN} & pnpm run publish
