@@ -37,6 +37,8 @@ var_5: &only_release_branches
3737 - main
3838 - /\d+\.\d+\.x/
3939
40+ var_6 : &all_e2e_subsets ['npm', 'esbuild', 'yarn']
41+
4042# Executor Definitions
4143# https://circleci.com/docs/2.0/reusing-config/#authoring-reusable-executors
4244executors :
@@ -207,14 +209,18 @@ jobs:
207209 - run : yarn -s admin validate
208210 - run : yarn -s check-tooling-setup
209211
210- e2e-cli :
212+ e2e-tests :
211213 parameters :
212214 nodeversion :
213215 type : string
214216 default : *default_nodeversion
215217 snapshots :
216218 type : boolean
217219 default : false
220+ subset :
221+ type : enum
222+ enum : *all_e2e_subsets
223+ default : ' npm'
218224 executor :
219225 name : test-executor
220226 nodeversion : << parameters.nodeversion >>
@@ -223,21 +229,31 @@ jobs:
223229 - custom_attach_workspace
224230 - browser-tools/install-chrome
225231 - initialize_env
226- - run :
227- name : Execute CLI E2E Tests
228- command : |
229- mkdir /mnt/ramdisk/e2e-main
230- node ./tests/legacy-cli/run_e2e --nb-shards=${CIRCLE_NODE_TOTAL} --shard=${CIRCLE_NODE_INDEX} <<# parameters.snapshots >>--ng-snapshots<</ parameters.snapshots >> --tmpdir=/mnt/ramdisk/e2e-main
231- - run :
232- name : Execute CLI E2E Tests Subset with Yarn
233- command : |
234- mkdir /mnt/ramdisk/e2e-yarn
235- node ./tests/legacy-cli/run_e2e --nb-shards=${CIRCLE_NODE_TOTAL} --shard=${CIRCLE_NODE_INDEX} <<# parameters.snapshots >>--ng-snapshots<</ parameters.snapshots >> --yarn --tmpdir=/mnt/ramdisk/e2e-yarn --glob="{tests/basic/**,tests/update/**,tests/commands/add/**}"
236- - run :
237- name : Execute CLI E2E Tests Subset with esbuild builder
238- command : |
239- mkdir /mnt/ramdisk/e2e-esbuild
240- node ./tests/legacy-cli/run_e2e --nb-shards=${CIRCLE_NODE_TOTAL} --shard=${CIRCLE_NODE_INDEX} <<# parameters.snapshots >>--ng-snapshots<</ parameters.snapshots >> --esbuild --tmpdir=/mnt/ramdisk/e2e-esbuild --glob="{tests/basic/**,tests/build/prod-build.ts,tests/build/relative-sourcemap.ts,tests/build/styles/scss.ts,tests/build/styles/include-paths.ts,tests/commands/add/add-pwa.ts}" --ignore="tests/basic/{environment,rebuild,serve,scripts-array}.ts"
232+ - run : mkdir /mnt/ramdisk/e2e
233+ - when :
234+ condition :
235+ equal : ['npm', << parameters.subset >>]
236+ steps :
237+ - run :
238+ name : Execute CLI E2E Tests with NPM
239+ command : |
240+ node ./tests/legacy-cli/run_e2e --nb-shards=${CIRCLE_NODE_TOTAL} --shard=${CIRCLE_NODE_INDEX} <<# parameters.snapshots >>--ng-snapshots<</ parameters.snapshots >> --tmpdir=/mnt/ramdisk/e2e
241+ - when :
242+ condition :
243+ equal : ['esbuild', << parameters.subset >>]
244+ steps :
245+ - run :
246+ name : Execute CLI E2E Tests Subset with Esbuild
247+ command : |
248+ node ./tests/legacy-cli/run_e2e --nb-shards=${CIRCLE_NODE_TOTAL} --shard=${CIRCLE_NODE_INDEX} <<# parameters.snapshots >>--ng-snapshots<</ parameters.snapshots >> --esbuild --tmpdir=/mnt/ramdisk/e2e --glob="{tests/basic/**,tests/build/prod-build.ts,tests/build/relative-sourcemap.ts,tests/build/styles/scss.ts,tests/build/styles/include-paths.ts,tests/commands/add/add-pwa.ts}" --ignore="tests/basic/{environment,rebuild,serve,scripts-array}.ts"
249+ - when :
250+ condition :
251+ equal : ['yarn', << parameters.subset >>]
252+ steps :
253+ - run :
254+ name : Execute CLI E2E Tests Subset with Yarn
255+ command : |
256+ node ./tests/legacy-cli/run_e2e --nb-shards=${CIRCLE_NODE_TOTAL} --shard=${CIRCLE_NODE_INDEX} <<# parameters.snapshots >>--ng-snapshots<</ parameters.snapshots >> --yarn --tmpdir=/mnt/ramdisk/e2e --glob="{tests/basic/**,tests/update/**,tests/commands/add/**}"
241257 - fail_fast
242258
243259 test-browsers :
@@ -359,22 +375,37 @@ workflows:
359375 requires :
360376 - setup
361377
362- - e2e-cli :
363- name : e2e-cli
378+ - e2e-tests :
379+ name : e2e-cli-<< matrix.subset >>
364380 nodeversion : ' 14.15'
381+ matrix :
382+ parameters :
383+ subset : *all_e2e_subsets
384+ filters :
385+ branches :
386+ ignore :
387+ - main
388+ - /\d+\.\d+\.x/
365389 requires :
366390 - build
367391
368- - e2e-cli :
369- name : e2e-cli-node-16
370- nodeversion : ' 16.10'
371- << : *only_release_branches
392+ - e2e-tests :
393+ name : e2e-cli-node-<<matrix.nodeversion>>-<< matrix.subset >>
394+ matrix :
395+ alias : e2e-cli
396+ parameters :
397+ nodeversion : ['14.15', '16.10']
398+ subset : *all_e2e_subsets
372399 requires :
373400 - build
401+ << : *only_release_branches
374402
375- - e2e-cli :
376- name : e2e-cli-ng- snapshots
403+ - e2e-tests :
404+ name : e2e-snapshots-<< matrix.subset >>
377405 nodeversion : ' 16.10'
406+ matrix :
407+ parameters :
408+ subset : *all_e2e_subsets
378409 snapshots : true
379410 pre-steps :
380411 - when :
0 commit comments