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