name: "publish"

on:
  push:
    branches:
      - "master"

jobs:
  bump-version:
    name: "publish"
    runs-on: ubuntu-latest

    steps:
      - name: "Checkout source code"
        uses: "actions/checkout@v4"
        with:
          ref: ${{ github.ref }}

      - name: Setup Node.js
        uses: actions/setup-node@v4
        with:
          node-version: 20
          cache: "yarn" # caches the yarn cache folder not node_modules

      # Automated Version Bump
      - name: "Automated Version Bump"
        uses: "phips28/gh-action-bump-version@master"
        with:
          tag-prefix: ""
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

      # Install packages with yarn
      - name: "Install"
        run: yarn install --frozen-lockfile

      - name: "Build"
        run: yarn build

      - name: "Test"
        run: yarn test

      # Publish the package
      - name: "Publishing to Npm registry"
        run: |
          npm config set //registry.npmjs.org/:_authToken=$NPM_AUTH_TOKEN
          npm publish
        env:
          CI: true
          NPM_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
