name: Build and Test
on:
  pull_request:
      branches:
        -master
      paths:
        - 'src/**/*.ts'
        - 'global/**/*.js'
        - 'test/*'
        - '.eslintrc.js'
        - 'package-lock.json'
        - 'tsconfig.json'
        - 'typedoc.json'
        - 'webpack.config.js'
        - '.github/**/*.js'
  workflow_dispatch:
  push:
jobs:
  build:
    runs-on: ubuntu-latest
    name: Build and test
    steps:
      - uses: actions/checkout@v2
      - name: NPM Install
        uses: actions/cache@v2
        with:
          path: ~/.npm
          key: lock-npm-deps-${{ hashFiles('**/package-lock.json') }}
          restore-keys: lock-npm-deps-
      - name: Install Dependencies
        run: npm ci
      - name: Test
        env:
          SAUCE_ACCESS_KEY: ${{ secrets.SAUCE_ACCESS_KEY }}
          SAUCE_USERNAME: ${{ secrets.SAUCE_USERNAME }}
        run: npm test
