@@ -16,12 +16,10 @@ jobs:
16
16
name : Build the package
17
17
steps :
18
18
- uses : actions/checkout@v4
19
- - uses : pnpm/action-setup@v2
20
- with :
21
- version : 8
19
+ - uses : pnpm/action-setup@v3
22
20
- uses : actions/setup-node@v4
23
21
with :
24
- node-version : 18
22
+ node-version : 22
25
23
cache : ' pnpm'
26
24
- run : pnpm install
27
25
env :
31
29
32
30
# Use cache to share the output across different jobs
33
31
# No need to cache node_modules because they are all bundled
34
- - uses : actions/cache/save@v3
32
+ - uses : actions/cache/save@v4
35
33
id : cache
36
34
with :
37
35
path : outfile.cjs
@@ -55,62 +53,64 @@ jobs:
55
53
# Skip ESLint/Prettier tests as we've reached the limit of job numbers
56
54
# TODO: Find a way to test them without adding new jobs
57
55
58
- node-version : [18 ]
56
+ node-version : [22 ]
59
57
os : [ubuntu-latest]
60
58
61
59
# Run a few tests on other systems and Node.js versions
62
60
include :
63
- - node-version : 18
61
+ - node-version : 22
64
62
os : windows-latest
65
63
flag-for-ts : ' --typescript'
66
64
flag-for-jsx : ' --jsx'
67
65
flag-for-router : ' --router'
68
66
flag-for-pinia : ' --pinia'
69
67
flag-for-vitest : ' --vitest'
70
68
flag-for-e2e : ' --cypress'
69
+ flag-for-eslint : ' --eslint'
71
70
72
- - node-version : 18
71
+ - node-version : 22
73
72
os : macos-latest
74
73
flag-for-ts : ' --typescript'
75
74
flag-for-jsx : ' --jsx'
76
75
flag-for-router : ' --router'
77
76
flag-for-pinia : ' --pinia'
78
77
flag-for-vitest : ' --vitest'
79
78
flag-for-e2e : ' --cypress'
79
+ flag-for-eslint : ' --eslint'
80
80
81
- - node-version : 20
81
+ - node-version : 18
82
82
os : ubuntu-latest
83
83
flag-for-ts : ' --typescript'
84
84
flag-for-jsx : ' --jsx'
85
85
flag-for-router : ' --router'
86
86
flag-for-pinia : ' --pinia'
87
87
flag-for-vitest : ' --vitest'
88
88
flag-for-e2e : ' --cypress'
89
+ flag-for-eslint : ' --eslint'
89
90
90
- - node-version : 16
91
+ - node-version : 20
91
92
os : ubuntu-latest
92
93
flag-for-ts : ' --typescript'
93
94
flag-for-jsx : ' --jsx'
94
95
flag-for-router : ' --router'
95
96
flag-for-pinia : ' --pinia'
96
97
flag-for-vitest : ' --vitest'
97
98
flag-for-e2e : ' --cypress'
99
+ flag-for-eslint : ' --eslint'
98
100
runs-on : ${{ matrix.os }}
99
101
continue-on-error : ${{ matrix.os == 'windows-latest' }}
100
102
env :
101
- FEATURE_FLAGS : ${{ matrix.flag-for-ts }} ${{ matrix.flag-for-jsx }} ${{ matrix.flag-for-router }} ${{ matrix.flag-for-pinia }} ${{ matrix.flag-for-vitest }} ${{ matrix.flag-for-e2e }}
103
+ FEATURE_FLAGS : ${{ matrix.flag-for-ts }} ${{ matrix.flag-for-jsx }} ${{ matrix.flag-for-router }} ${{ matrix.flag-for-pinia }} ${{ matrix.flag-for-vitest }} ${{ matrix.flag-for-e2e }} ${{matrix.flag-for-eslint}}
102
104
# Sometimes the Linux runner can't verify Cypress in 30s
103
105
CYPRESS_VERIFY_TIMEOUT : 60000
104
106
steps :
105
107
- uses : actions/checkout@v4
106
- - uses : pnpm/action-setup@v2
107
- with :
108
- version : 8
108
+ - uses : pnpm/action-setup@v3
109
109
- uses : actions/setup-node@v4
110
110
with :
111
111
node-version : ${{ matrix.node-version }}
112
112
cache : ' pnpm'
113
- - uses : actions/cache/restore@v3
113
+ - uses : actions/cache/restore@v4
114
114
id : cache-restore
115
115
with :
116
116
path : outfile.cjs
@@ -135,15 +135,15 @@ jobs:
135
135
- if : ${{ contains(matrix.flag-for-e2e, '--cypress') }}
136
136
name : Cache Cypress binaries
137
137
id : cache-cypress
138
- uses : actions/cache@v3
138
+ uses : actions/cache@v4
139
139
with :
140
140
# TODO: avoid snowballing by adding version
141
141
key : ${{ runner.os }}-cypress-bin
142
142
path : ${{ env.CYPRESS_CACHE_FOLDER }}
143
143
144
144
- if : ${{ contains(matrix.flag-for-e2e, '--playwright') }}
145
145
name : Cache Playwright's binary
146
- uses : actions/cache@v3
146
+ uses : actions/cache@v4
147
147
with :
148
148
# Playwright removes unused browsers automatically
149
149
# So does not need to add playwright version to key
@@ -189,3 +189,8 @@ jobs:
189
189
name : Run e2e test script
190
190
working-directory : ../sample-project
191
191
run : pnpm test:e2e
192
+
193
+ - if : ${{ contains(matrix.flag-for-eslint, '--') }}
194
+ name : Run lint script
195
+ working-directory : ../sample-project
196
+ run : pnpm lint --no-fix --max-warnings=0
0 commit comments