# This workflow will do a clean install of node dependencies, cache/restore them, build the source code and run tests across different versions of node
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-nodejs-with-github-actions

name: CI

on:
    push:
        branches: [ master ]
    pull_request:
        branches: [ master ]

jobs:
    build:

        runs-on: ubuntu-latest

        strategy:
            matrix:
                node-version: [16.x]

        steps:
            -   uses: actions/checkout@v3

            -   name: Use Node.js ${{ matrix.node-version }}
                uses: actions/setup-node@v3
                with:
                    node-version: ${{ matrix.node-version }}

            -   name: Build and install packages
                run: |
                    npm ci
                    npm run build

            -   name: Run tests
                run: |
                    npm run test

            -   name: Run linter
                run: |
                    npm run lint
