@@ -10,272 +10,53 @@ defaults:
1010 shell : bash
1111
1212jobs :
13- browserify-cjs :
13+ find-examples :
1414 runs-on : ubuntu-20.04
15- container :
16- image : cypress/base:17.3.0
17- steps :
18- - name : Checkout
19- uses : actions/checkout@v2
20- - name : Cache NPM modules
21- uses : actions/cache@v2
22- with :
23- path : ~/.npm
24- key : npm
25- - name : Cache Cypress binaries
26- uses : actions/cache@v2
27- with :
28- path : ~/.cache/Cypress
29- key : cypress
30- # In lack of native support, https://github.com/actions/checkout/issues/172.
31- - name : Make checkout sparse
32- run : |
33- shopt -s extglob
34- rm -rf examples/!(browserify-cjs)
35- rm -rf !(examples)
36- - name : Install NPM modules
37- working-directory : examples/browserify-cjs
38- run : npm install
39- - name : Run Cypress
40- working-directory : examples/browserify-cjs
41- run : npx cypress run
42-
43- browserify-esm :
44- runs-on : ubuntu-20.04
45- container :
46- image : cypress/base:17.3.0
47- steps :
48- - name : Checkout
49- uses : actions/checkout@v2
50- - name : Cache NPM modules
51- uses : actions/cache@v2
52- with :
53- path : ~/.npm
54- key : npm
55- - name : Cache Cypress binaries
56- uses : actions/cache@v2
57- with :
58- path : ~/.cache/Cypress
59- key : cypress
60- # In lack of native support, https://github.com/actions/checkout/issues/172.
61- - name : Make checkout sparse
62- run : |
63- shopt -s extglob
64- rm -rf examples/!(browserify-esm)
65- rm -rf !(examples)
66- - name : Install NPM modules
67- working-directory : examples/browserify-esm
68- run : npm install
69- - name : Run Cypress
70- working-directory : examples/browserify-esm
71- run : npx cypress run
72-
73- browserify-ts :
74- runs-on : ubuntu-20.04
75- container :
76- image : cypress/base:17.3.0
77- steps :
78- - name : Checkout
79- uses : actions/checkout@v2
80- - name : Cache NPM modules
81- uses : actions/cache@v2
82- with :
83- path : ~/.npm
84- key : npm
85- - name : Cache Cypress binaries
86- uses : actions/cache@v2
87- with :
88- path : ~/.cache/Cypress
89- key : cypress
90- # In lack of native support, https://github.com/actions/checkout/issues/172.
91- - name : Make checkout sparse
92- run : |
93- shopt -s extglob
94- rm -rf examples/!(browserify-ts)
95- rm -rf !(examples)
96- - name : Install NPM modules
97- working-directory : examples/browserify-ts
98- run : npm install
99- - name : Run Cypress
100- working-directory : examples/browserify-ts
101- run : npx cypress run
102-
103- webpack-cjs :
104- runs-on : ubuntu-20.04
105- container :
106- image : cypress/base:17.3.0
107- steps :
108- - name : Checkout
109- uses : actions/checkout@v2
110- - name : Cache NPM modules
111- uses : actions/cache@v2
112- with :
113- path : ~/.npm
114- key : npm
115- - name : Cache Cypress binaries
116- uses : actions/cache@v2
117- with :
118- path : ~/.cache/Cypress
119- key : cypress
120- # In lack of native support, https://github.com/actions/checkout/issues/172.
121- - name : Make checkout sparse
122- run : |
123- shopt -s extglob
124- rm -rf examples/!(webpack-cjs)
125- rm -rf !(examples)
126- - name : Install NPM modules
127- working-directory : examples/webpack-cjs
128- run : npm install
129- - name : Run Cypress
130- working-directory : examples/webpack-cjs
131- run : npx cypress run
132-
133- webpack-esm :
134- runs-on : ubuntu-20.04
135- container :
136- image : cypress/base:17.3.0
15+ outputs :
16+ matrix : ${{ steps.set-matrix.outputs.matrix }}
13717 steps :
13818 - name : Checkout
13919 uses : actions/checkout@v2
140- - name : Cache NPM modules
141- uses : actions/cache@v2
142- with :
143- path : ~/.npm
144- key : npm
145- - name : Cache Cypress binaries
146- uses : actions/cache@v2
147- with :
148- path : ~/.cache/Cypress
149- key : cypress
150- # In lack of native support, https://github.com/actions/checkout/issues/172.
151- - name : Make checkout sparse
152- run : |
153- shopt -s extglob
154- rm -rf examples/!(webpack-esm)
155- rm -rf !(examples)
156- - name : Install NPM modules
157- working-directory : examples/webpack-esm
158- run : npm install
159- - name : Run Cypress
160- working-directory : examples/webpack-esm
161- run : npx cypress run
20+ - id : set-matrix
21+ name : Prepare
22+ run : echo "::set-output name=matrix::$(node -p "JSON.stringify(fs.readdirSync('examples').filter(f => f !== 'readme.md'))")"
23+ - run : npm -v
16224
163- webpack-ts :
25+ example :
26+ needs : find-examples
16427 runs-on : ubuntu-20.04
16528 container :
16629 image : cypress/base:17.3.0
30+ strategy :
31+ matrix :
32+ example : ${{fromJson(needs.find-examples.outputs.matrix)}}
16733 steps :
16834 - name : Checkout
16935 uses : actions/checkout@v2
17036 - name : Cache NPM modules
17137 uses : actions/cache@v2
17238 with :
17339 path : ~/.npm
174- key : npm
40+ key : npm@${{ matrix.example }}
17541 - name : Cache Cypress binaries
17642 uses : actions/cache@v2
17743 with :
17844 path : ~/.cache/Cypress
179- key : cypress
45+ key : cypress-examples
18046 # In lack of native support, https://github.com/actions/checkout/issues/172.
18147 - name : Make checkout sparse
18248 run : |
18349 shopt -s extglob
184- rm -rf examples/!(webpack-ts )
50+ rm -rf examples/!(${{ matrix.example }} )
18551 rm -rf !(examples)
18652 - name : Install NPM modules
187- working-directory : examples/webpack-ts
53+ working-directory : examples/${{ matrix.example }}
18854 run : npm install
18955 - name : Run Cypress
190- working-directory : examples/webpack-ts
191- run : npx cypress run
192-
193- esbuild-cjs :
194- runs-on : ubuntu-20.04
195- container :
196- image : cypress/base:17.3.0
197- steps :
198- - name : Checkout
199- uses : actions/checkout@v2
200- - name : Cache NPM modules
201- uses : actions/cache@v2
202- with :
203- path : ~/.npm
204- key : npm
205- - name : Cache Cypress binaries
206- uses : actions/cache@v2
207- with :
208- path : ~/.cache/Cypress
209- key : cypress
210- # In lack of native support, https://github.com/actions/checkout/issues/172.
211- - name : Make checkout sparse
56+ working-directory : examples/${{ matrix.example }}
21257 run : |
213- shopt -s extglob
214- rm -rf examples/!(esbuild-cjs)
215- rm -rf !(examples)
216- - name : Install NPM modules
217- working-directory : examples/esbuild-cjs
218- run : npm install
219- - name : Run Cypress
220- working-directory : examples/esbuild-cjs
221- run : npx cypress run
222-
223- esbuild-esm :
224- runs-on : ubuntu-20.04
225- container :
226- image : cypress/base:17.3.0
227- steps :
228- - name : Checkout
229- uses : actions/checkout@v2
230- - name : Cache NPM modules
231- uses : actions/cache@v2
232- with :
233- path : ~/.npm
234- key : npm
235- - name : Cache Cypress binaries
236- uses : actions/cache@v2
237- with :
238- path : ~/.cache/Cypress
239- key : cypress
240- # In lack of native support, https://github.com/actions/checkout/issues/172.
241- - name : Make checkout sparse
242- run : |
243- shopt -s extglob
244- rm -rf examples/!(esbuild-esm)
245- rm -rf !(examples)
246- - name : Install NPM modules
247- working-directory : examples/esbuild-esm
248- run : npm install
249- - name : Run Cypress
250- working-directory : examples/esbuild-esm
251- run : npx cypress run
252-
253- esbuild-ts :
254- runs-on : ubuntu-20.04
255- container :
256- image : cypress/base:17.3.0
257- steps :
258- - name : Checkout
259- uses : actions/checkout@v2
260- - name : Cache NPM modules
261- uses : actions/cache@v2
262- with :
263- path : ~/.npm
264- key : npm
265- - name : Cache Cypress binaries
266- uses : actions/cache@v2
267- with :
268- path : ~/.cache/Cypress
269- key : cypress
270- # In lack of native support, https://github.com/actions/checkout/issues/172.
271- - name : Make checkout sparse
272- run : |
273- shopt -s extglob
274- rm -rf examples/!(esbuild-ts)
275- rm -rf !(examples)
276- - name : Install NPM modules
277- working-directory : examples/esbuild-ts
278- run : npm install
279- - name : Run Cypress
280- working-directory : examples/esbuild-ts
281- run : npx cypress run
58+ if [[ "${{ matrix.example }}" == ct-* ]]; then
59+ npx cypress run --component
60+ else
61+ npx cypress run --e2e
62+ fi
0 commit comments