name: CI
on: [push]
concurrency:
  group: ${{ github.ref }}
  cancel-in-progress: true
jobs:
  build:
    runs-on: ubuntu-latest
    name: Node ${{ matrix.node }} tests
    strategy:
      matrix:
        node: [8, 10, 12, 14]
    steps:
      - uses: actions/checkout@v6.0.3
      - name: Setup node
        uses: actions/setup-node@v4
        with:
          node-version: ${{ matrix.node }}
      - run: ./scripts/build
      - run: ./scripts/test
  buildall:
    if: ${{ always() }}
    runs-on: ubuntu-latest
    name: Build (matrix)
    needs: build
    steps:
      - name: Check build matrix status
        if: ${{ needs.build.result != 'success' }}
        run: exit 1
