Skip to content

Commit 085c4f3

Browse files
committed
ci: isolate ESLint 9/10 tests into eslint-9+ workflow and merge into a single matrix job
1 parent a3a41eb commit 085c4f3

File tree

2 files changed

+70
-16
lines changed

2 files changed

+70
-16
lines changed

.github/workflows/eslint-9+.yml

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
name: 'Tests: ESLint (9+)'
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+
versionsAsRoot: true
16+
type: majors
17+
preset: '>=18'
18+
19+
latest:
20+
needs: [matrix]
21+
name: 'latest majors'
22+
runs-on: ubuntu-latest
23+
24+
strategy:
25+
fail-fast: false
26+
matrix:
27+
node-version: ${{ fromJson(needs.matrix.outputs.latest) }}
28+
eslint:
29+
- 10
30+
- 9
31+
babel-eslint:
32+
- 10
33+
- 9
34+
- 8
35+
typescript-eslint:
36+
- 5
37+
- 6
38+
- 7
39+
- 8
40+
exclude:
41+
# ESLint 10 supports Node.js 20+.
42+
- eslint: 10
43+
node-version: 18
44+
- eslint: 10
45+
node-version: 19
46+
- eslint: 10
47+
babel-eslint: 8
48+
- eslint: 9
49+
typescript-eslint: 5
50+
- eslint: 9
51+
typescript-eslint: 6
52+
- eslint: 9
53+
typescript-eslint: 7
54+
- node-version: 19
55+
typescript-eslint: 7
56+
57+
steps:
58+
- uses: actions/checkout@v4
59+
- uses: ljharb/actions/node/install@main
60+
name: 'nvm install ${{ matrix.node-version }} && npm install'
61+
with:
62+
node-version: ${{ matrix.node-version }}
63+
after_install: |
64+
npm install --no-save "eslint@${{ matrix.eslint }}" "@typescript-eslint/parser@${{ matrix.eslint == 10 && 'canary' || matrix.typescript-eslint }}" "babel-eslint@${{ matrix.babel-eslint }}"
65+
env:
66+
NPM_CONFIG_LEGACY_PEER_DEPS: "${{ matrix.typescript-eslint >= 6 && 'false' || 'true' }}"
67+
- run: npx ls-engines
68+
- run: npm run unit-test
69+
- uses: codecov/codecov-action@v3.1.5

.github/workflows/node-18+.yml

Lines changed: 1 addition & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,6 @@ jobs:
2626
matrix:
2727
node-version: ${{ fromJson(needs.matrix.outputs.latest) }}
2828
eslint:
29-
- 10
30-
- 9
3129
- 8
3230
- 7
3331
- 6
@@ -45,13 +43,6 @@ jobs:
4543
- 7
4644
- 8
4745
exclude:
48-
# ESLint 10 supports Node.js 20+.
49-
- eslint: 10
50-
node-version: 18
51-
- eslint: 10
52-
node-version: 19
53-
- eslint: 10
54-
babel-eslint: 8
5546
- eslint: 3
5647
babel-eslint: 10
5748
- eslint: 3
@@ -72,8 +63,6 @@ jobs:
7263
typescript-eslint: 6
7364
- eslint: 6
7465
typescript-eslint: 6
75-
- eslint: 9
76-
typescript-eslint: 6
7766
- eslint: 3
7867
typescript-eslint: 7
7968
- eslint: 4
@@ -86,8 +75,6 @@ jobs:
8675
typescript-eslint: 7
8776
- eslint: 7
8877
typescript-eslint: 7
89-
- eslint: 9
90-
typescript-eslint: 7
9178
- eslint: 3
9279
typescript-eslint: 8
9380
- eslint: 4
@@ -100,8 +87,6 @@ jobs:
10087
typescript-eslint: 8
10188
- eslint: 7
10289
typescript-eslint: 8
103-
- eslint: 9
104-
typescript-eslint: 5
10590
- node-version: 19
10691
typescript-eslint: 7
10792

@@ -112,7 +97,7 @@ jobs:
11297
with:
11398
node-version: ${{ matrix.node-version }}
11499
after_install: |
115-
npm install --no-save "eslint@${{ matrix.eslint }}" "@typescript-eslint/parser@${{ matrix.eslint == 10 && 'canary' || (matrix.typescript-eslint == 8 && '8.17' || matrix.typescript-eslint) }}" "babel-eslint@${{ matrix.babel-eslint }}"
100+
npm install --no-save "eslint@${{ matrix.eslint }}" "@typescript-eslint/parser@${{ matrix.typescript-eslint == 8 && 8.17 || matrix.typescript-eslint }}" "babel-eslint@${{ matrix.babel-eslint }}"
116101
env:
117102
NPM_CONFIG_LEGACY_PEER_DEPS: "${{ matrix.typescript-eslint >= 6 && 'false' || 'true' }}"
118103
- run: npx ls-engines

0 commit comments

Comments
 (0)