name: Release

on:
  release:
    types: [published]

jobs:
  release:
    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@v3

      - name: Read .nvmrc
        run: echo "##[set-output name=nvmrc;]$(cat .nvmrc)"
        id: nvm

      - name: Setup Node
        uses: actions/setup-node@v3
        with:
          node-version: ${{ steps.nvm.outputs.nvmrc }}
          cache: "npm"

      - name: Install dependencies
        run: npm ci

      - name: Build the code
        run: npm run build

      - name: Set up auth
        run: echo "//registry.npmjs.org/:_authToken=\${NPM_AUTH_TOKEN}" > .npmrc

      - name: Publish to npm
        run: npm publish
        env:
          NPM_AUTH_TOKEN: ${{ secrets.NPM_AUTH_TOKEN }}
