name: Build
on: ['push', 'pull_request']

jobs:
    build:
      runs-on: ubuntu-latest

      strategy:
        matrix:
          node: [12.x, 14.x, 16.x]
          
      name: Node ${{ matrix.node }}
      steps:
        - uses: actions/checkout@v2

        - name: Setup node
          uses: actions/setup-node@v2.5.0
          with:
            node-version: ${{ matrix.node }}

        - name: Install dependencies
          run: npm ci

        - name: Execute tests
          run: npm test
        
        - name: SonarCloud Scan
          uses: sonarsource/sonarcloud-github-action@master
          if: github.actor != 'dependabot[bot]'
          env:
            GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
            SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}