# 监听创建tag的事件，tag必须是CDP/Saas-vXXX的格式
# 会自动进行发版到npm，同时创建一个release包

name: Publish And Release

on:
  push:
    tags:
      - 'CDP-v*'
      - 'Saas-v*'

jobs:
  publish:
    name: Auto Publish npm
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4 # 升级新版
      - uses: actions/setup-node@v4 # 升级新版
        with:
          node-version: 16
          registry-url: https://registry.npmjs.org/
      - name: Publish
        run: npm publish --tag latest --non-interactive --access public --verbose
        env:
          NODE_AUTH_TOKEN: ${{ secrets.NPM_AUTOMATION_TOKEN }}

  release:
    name: Auto Create Release
    runs-on: ubuntu-latest
    needs: publish
    steps:
      - uses: actions/checkout@v4 # 升级新版
      - uses: actions/setup-node@v4 # 升级新版，统一Node 16
        with:
          node-version: 16
          registry-url: https://registry.npmjs.org/
      - name: Create Release
        uses: actions/create-release@v1
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
        with:
          tag_name: ${{ github.ref_name }} # 纯标签名称，更简洁
          release_name: Release ${{ github.ref_name }}
          draft: false
          prerelease: false
