name: Test, build and publish to NPM

on:
    push:
        branches:
            - main

jobs:
    publish:
        runs-on: ubuntu-latest
        steps:
            - uses: actions/checkout@v1
            - uses: actions/setup-node@v1
              with:
                  node-version: 18
            - run: npm install
            - run: npm run test
            - run: npm run build
            - uses: JS-DevTools/npm-publish@v1
              with:
                  token: ${{ secrets.NPM_TOKEN }}
                  access: public
