11
11
- next
12
12
13
13
jobs :
14
- prepare-yarn-cache :
15
- name : Prepare yarn cache
16
- runs-on : ubuntu-latest
17
-
18
- steps :
19
- - uses : actions/checkout@v3
20
-
21
- - uses : actions/setup-node@v3
22
- with :
23
- node-version : lts/*
24
- cache : yarn
25
-
26
- - name : Validate cache
27
- env :
28
- # Use PnP and disable postinstall scripts as this just needs to
29
- # populate the cache for the other jobs
30
- YARN_NODE_LINKER : pnp
31
- YARN_ENABLE_SCRIPTS : false
32
- run : yarn --immutable
14
+ prepare-yarn-cache-ubuntu :
15
+ uses : ./.github/workflows/prepare-cache.yml
16
+ with :
17
+ os : ubuntu-latest
18
+ prepare-yarn-cache-macos :
19
+ uses : ./.github/workflows/prepare-cache.yml
20
+ with :
21
+ os : macos-latest
22
+ prepare-yarn-cache-windows :
23
+ uses : ./.github/workflows/prepare-cache.yml
24
+ with :
25
+ os : windows-latest
33
26
34
27
prettier :
35
- needs : prepare-yarn-cache
28
+ needs : prepare-yarn-cache-ubuntu
36
29
runs-on : ubuntu-latest
37
30
steps :
38
31
- uses : actions/checkout@v3
46
39
run : yarn prettier:check
47
40
48
41
typecheck :
49
- needs : prepare-yarn-cache
42
+ needs : prepare-yarn-cache-ubuntu
50
43
runs-on : ubuntu-latest
51
44
steps :
52
45
- uses : actions/checkout@v3
63
56
name :
64
57
# prettier-ignore
65
58
Test on Node.js v${{ matrix.node-version }}, eslint v${{ matrix.eslint-version }}
66
- needs : prepare-yarn-cache
59
+ needs : prepare-yarn-cache-ubuntu
67
60
strategy :
68
61
fail-fast : false
69
62
matrix :
@@ -91,34 +84,25 @@ jobs:
91
84
CI : true
92
85
- uses : codecov/codecov-action@v3
93
86
if : ${{ matrix.eslint-version >= 8 }}
94
- test-os :
95
- name : Test on ${{ matrix.os }} using Node.js LTS
96
- needs : prepare-yarn-cache
97
- strategy :
98
- fail-fast : false
99
- matrix :
100
- os : [ubuntu-latest, windows-latest, macOS-latest]
101
- runs-on : ${{ matrix.os }}
102
-
103
- steps :
104
- - uses : actions/checkout@v3
105
- - uses : actions/setup-node@v3
106
- with :
107
- node-version : lts/*
108
- cache : yarn
109
- - name : install
110
- run : yarn
111
- - name : run tests
112
- # only collect coverage on eslint versions that support dynamic import
113
- run : yarn test --coverage ${{ matrix.eslint-version >= 8 }}
114
- env :
115
- CI : true
116
- - uses : codecov/codecov-action@v3
117
- if : ${{ matrix.eslint-version >= 8 }}
87
+ test-ubuntu :
88
+ uses : ./.github/workflows/test.yml
89
+ needs : prepare-yarn-cache-ubuntu
90
+ with :
91
+ os : ubuntu-latest
92
+ test-macos :
93
+ uses : ./.github/workflows/test.yml
94
+ needs : prepare-yarn-cache-macos
95
+ with :
96
+ os : macos-latest
97
+ test-windows :
98
+ uses : ./.github/workflows/test.yml
99
+ needs : prepare-yarn-cache-windows
100
+ with :
101
+ os : windows-latest
118
102
119
103
docs :
120
104
if : ${{ github.event_name == 'pull_request' }}
121
- needs : prepare-yarn-cache
105
+ needs : prepare-yarn-cache-ubuntu
122
106
runs-on : ubuntu-latest
123
107
steps :
124
108
- uses : actions/checkout@v3
@@ -141,7 +125,8 @@ jobs:
141
125
# prettier-ignore
142
126
${{ github.event_name == 'push' && (github.event.ref == 'refs/heads/main' || github.event.ref == 'refs/heads/next') }}
143
127
name : Release new version
144
- needs : [prettier, typecheck, test-node, test-os]
128
+ needs :
129
+ [prettier, typecheck, test-node, test-ubuntu, test-macos, test-windows]
145
130
runs-on : ubuntu-latest
146
131
steps :
147
132
- uses : actions/checkout@v3
0 commit comments