name: Main
on:
  push:
    branches: [main]
jobs:
  build_test_release:
    name: 'On Main Push - Build, Test, Release'
    runs-on: ubuntu-latest
    steps:
      - name: Checkout repo
        uses: actions/checkout@v3

      - name: Setup configuration for NPM registry
        uses: actions/setup-node@v3
        with:
          node-version: 18.12.1
          registry-url: 'https://registry.npmjs.org'
          scope: '@dankreiger'

      - name: Use Node 18.
        uses: actions/setup-node@v3
        with:
          node-version: 18.12.1

      - name: Install deps and build (with cache)
        uses: bahmutov/npm-install@v1

      - name: Lint
        run: npm run lint

      - name: Build
        run: npm run build

      - name: Create release and publish scoped package
        run: npm run release
        env:
          GH_TOKEN: ${{ secrets.GH_TOKEN }}
          NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
