name: CI on: [push, pull_request] jobs: build: runs-on: ubuntu-latest strategy: fail-fast: false matrix: include: - { node-version: 10.x, lint: false, tests: false } - { node-version: 11.x, lint: false, tests: false } - { node-version: 12.x, lint: false, tests: false } - { node-version: 13.x, lint: false, tests: false } - { node-version: 14.x, lint: true, tests: true } - { node-version: 15.x, lint: false, tests: true } - { node-version: 16.x, lint: true, tests: true } - { node-version: 17.x, lint: true, tests: true } - { node-version: 18.x, lint: true, tests: true } - { node-version: 19.x, lint: true, tests: true } name: Node.js ${{ matrix.node-version }}${{ matrix.lint && ', lint' || '' }}${{ matrix.tests && ', test' || '' }}, build steps: - uses: actions/checkout@v3 - name: Use Node.js ${{ matrix.node-version }} uses: actions/setup-node@v3 with: node-version: ${{ matrix.node-version }} - name: Install dependencies run: npm install - name: Lint the project run: npm run lint if: ${{ matrix.lint }} - name: Run tests run: npm test if: ${{ matrix.tests }} - name: Build the project run: npm run build