name: CI on: [push, pull_request] jobs: ci: name: Node ${{ matrix.node_version }} strategy: fail-fast: false matrix: node_version: [12, 14, 16, 18, 19] runs-on: ubuntu-latest steps: - uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # tag=v3.0.2 - name: Use Node ${{ matrix.node_version }} uses: actions/setup-node@1f8c6b94b26d0feae1e387ca63ccbdc44d27b561 # tag=v2.5.1 with: node-version: ${{ matrix.node_version }} - name: Install run: yarn install --immutable - name: Format run: yarn format:check - name: Lint ## eslint does not support node 12 if: "!contains(matrix.node_version, '12')" run: yarn lint - name: Build run: yarn build - name: Types run: yarn code:types - name: Test ## jest does not support node 12 if: "!contains(matrix.node_version, '12')" run: yarn test