1 | name: 'Tests: node.js'
|
2 |
|
3 | on: [pull_request, push]
|
4 |
|
5 | jobs:
|
6 | matrix:
|
7 | runs-on: ubuntu-latest
|
8 | outputs:
|
9 | latest: ${{ steps.set-matrix.outputs.requireds }}
|
10 | minors: ${{ steps.set-matrix.outputs.optionals }}
|
11 | steps:
|
12 | - uses: ljharb/actions/node/matrix@main
|
13 | id: set-matrix
|
14 | with:
|
15 | preset: '>=4'
|
16 |
|
17 | latest:
|
18 | needs: [matrix]
|
19 | name: 'latest minors'
|
20 | runs-on: ubuntu-latest
|
21 |
|
22 | strategy:
|
23 | matrix: ${{ fromJson(needs.matrix.outputs.latest) }}
|
24 |
|
25 | steps:
|
26 | - uses: actions/checkout@v2
|
27 | - uses: ljharb/actions/node/run@main
|
28 | name: 'npm install && npm run tests-only'
|
29 | with:
|
30 | node-version: ${{ matrix.node-version }}
|
31 | command: 'tests-only'
|
32 | minors:
|
33 | needs: [matrix, latest]
|
34 | name: 'non-latest minors'
|
35 | continue-on-error: true
|
36 | if: ${{ !github.head_ref || !startsWith(github.head_ref, 'renovate') }}
|
37 | runs-on: ubuntu-latest
|
38 |
|
39 | strategy:
|
40 | matrix: ${{ fromJson(needs.matrix.outputs.minors) }}
|
41 |
|
42 | steps:
|
43 | - uses: actions/checkout@v2
|
44 | - uses: ljharb/actions/node/run@main
|
45 | with:
|
46 | node-version: ${{ matrix.node-version }}
|
47 | command: 'tests-only'
|
48 |
|
49 | node:
|
50 | name: 'node 4+'
|
51 | needs: [latest, minors]
|
52 | runs-on: ubuntu-latest
|
53 | steps:
|
54 | - run: 'echo tests completed'
|