@@ -18,19 +18,26 @@ jobs:
18
18
steps :
19
19
- name : Checkout
20
20
uses : actions/checkout@v2
21
- - name : Cache node_modules
22
- uses : actions/cache@v2
23
- with :
24
- path : ' **/node_modules'
25
- key : ${{ runner.os }}-${{ matrix.node-version }}-modules-${{ hashFiles('**/yarn.lock') }}
21
+
26
22
- name : Setup Node.js
27
23
uses : actions/setup-node@v1
28
24
with :
29
25
node-version : ${{ matrix.node-version }}
26
+
27
+ - name : Cache node_modules
28
+ uses : actions/cache@v2
29
+ id : cache-nodemodules
30
+ with :
31
+ path : node_modules
32
+ key : ${{ runner.os }}-${{ matrix.node-version }}-nodemodules-${{ hashFiles('**/yarn.lock') }}
33
+
30
34
- name : Install dependencies
35
+ if : steps.cache-nodemodules.outputs.cache-hit != 'true'
31
36
run : yarn install --frozen-lockfile --non-interactive
37
+
32
38
- name : Unit tests
33
39
run : yarn test -- --ci
40
+
34
41
lint :
35
42
name : Lint
36
43
runs-on : ubuntu-latest
@@ -41,19 +48,26 @@ jobs:
41
48
steps :
42
49
- name : Checkout
43
50
uses : actions/checkout@v2
44
- - name : Cache node_modules
45
- uses : actions/cache@v2
46
- with :
47
- path : ' **/node_modules'
48
- key : ${{ runner.os }}-${{ matrix.node-version }}-modules-${{ hashFiles('**/yarn.lock') }}
51
+
49
52
- name : Setup Node.js
50
53
uses : actions/setup-node@v1
51
54
with :
52
55
node-version : ${{ matrix.node-version }}
56
+
57
+ - name : Cache node_modules
58
+ uses : actions/cache@v2
59
+ id : cache-nodemodules
60
+ with :
61
+ path : node_modules
62
+ key : ${{ runner.os }}-${{ matrix.node-version }}-nodemodules-${{ hashFiles('**/yarn.lock') }}
63
+
53
64
- name : Install dependencies
65
+ if : steps.cache-nodemodules.outputs.cache-hit != 'true'
54
66
run : yarn install --frozen-lockfile --non-interactive
67
+
55
68
- name : Lint
56
69
run : yarn lint
70
+
57
71
website :
58
72
name : Test build website
59
73
if : ${{ github.event.issue.pull_request }}
@@ -65,16 +79,22 @@ jobs:
65
79
steps :
66
80
- name : Checkout
67
81
uses : actions/checkout@v2
68
- - name : Cache node_modules
69
- uses : actions/cache@v2
70
- with :
71
- path : ' **/node_modules'
72
- key : ${{ runner.os }}-${{ matrix.node-version }}-modules-${{ hashFiles('**/yarn.lock') }}
82
+
73
83
- name : Setup Node.js
74
84
uses : actions/setup-node@v1
75
85
with :
76
86
node-version : ${{ matrix.node-version }}
87
+
88
+ - name : Cache node_modules
89
+ uses : actions/cache@v2
90
+ id : cache-nodemodules
91
+ with :
92
+ path : node_modules
93
+ key : ${{ runner.os }}-${{ matrix.node-version }}-nodemodules-${{ hashFiles('**/yarn.lock') }}
94
+
77
95
- name : Install dependencies
96
+ if : steps.cache-nodemodules.outputs.cache-hit != 'true'
78
97
run : yarn install --frozen-lockfile --non-interactive
98
+
79
99
- name : Build website
80
100
run : yarn website
0 commit comments