name: Continuous Integration
on:
  push:
    paths-ignore:
      - "docs/**"
      - "*.md"
  pull_request:
    paths-ignore:
      - "docs/**"
      - "*.md"

jobs:
  build:
    runs-on: ${{ matrix.os }}
    strategy:
      matrix:
        # Maintenance and active LTS
        node-version: [10.x, 12.x, 14.x]
        os: [ubuntu-latest, windows-latest, macOS-latest]
    name: Node ${{ matrix.node-version }}

    steps:
      - uses: actions/checkout@v2

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

      - name: Install Dependencies
        id: install
        run: npm install --ignore-scripts

      # Unit and lint tests
      - name: Tests
        id: test
        run: npm run test
