name: Publish to NPM
on:
  push:
    branches: [main]

jobs:
  build:
    runs-on: ubuntu-latest
    env:
      NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v3
        with:
          node-version: '18.x'
          registry-url: 'https://registry.npmjs.org'
      - name: Install Dependencies
        run: yarn install
      - name: Build
        run: yarn build
      - run: npm config set //registry.npmjs.org/:_authToken ${NPM_TOKEN}
      - run: npm run release
      - name: Report Status
        if: always()
        uses: ravsamhq/notify-slack-action@v1
        with:
          status: ${{ job.status }}
        env:
          SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
