name: Publish  
run-name: Publish the package to NPM  
on:  
  push:  
    branches:  
      - 'main'  
  
concurrency:  
  group: ${{ github.workflow }}-${{ github.ref }}  
  
jobs:  
  publish:  
    name: Publish  
    runs-on: ubuntu-latest  
    steps:  
      - name: Checkout Repo  
        uses: actions/checkout@v3  
  
      - name: Setup PNPM  
        uses: pnpm/action-setup@v2  
        with:  
          version: 7  
  
      - name: Setup Node.js  
        uses: actions/setup-node@v3  
        with:  
          node-version: 20.x  
          cache: 'pnpm'  
      - run: pnpm install --no-frozen-lockfile  
  
      - name: Create Release Pull Request or Publish to npm  
        id: changesets  
        uses: changesets/action@v1  
        with:  
          publish: pnpm run release  
        env:  
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}  
          NPM_TOKEN: ${{ secrets.NPM_TOKEN }}