name: Release

on:
  push:
    tags:
      - "v**"

jobs:
  release:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3

      - name: Setup node
        uses: actions/setup-node@v2
        with:
          node-version: "16"
          registry-url: https://registry.npmjs.org/

      - name: Cache ~/.pnpm-store
        uses: actions/cache@v2
        env:
          cache-name: cache-pnpm-store
        with:
          path: ~/.pnpm-store
          key: ${{ runner.os }}-${{ matrix.node-version }}-test-${{ env.cache-name }}-${{ hashFiles('**/pnpm-lock.yaml') }}
          restore-keys: |
            ${{ runner.os }}-${{ matrix.node-version }}-test-${{ env.cache-name }}-
            ${{ runner.os }}-${{ matrix.node-version }}-test-
            ${{ runner.os }}-
      - name: Setup pnpm
        uses: pnpm/action-setup@v2
        with:
          version: latest

      - name: Install deps
        run: pnpm i --frozen-lockfile

      - name: Build
        run: pnpm run build

      - name: Publish
        run: pnpm publish -r --access public --no-git-checks
        env:
          NODE_AUTH_TOKEN: ${{secrets.NPM_PUBLISH_TOKEN}}

      - run: npx changelogithub
        env:
          GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
