@@ -33,6 +33,7 @@ mainBuildFilters: &mainBuildFilters
33
33
- ' feature/experimental-retries'
34
34
- ' publish-binary'
35
35
- ' chore/update_electron25_and_node18'
36
+ - ' lerna-optimize-tasks'
36
37
37
38
# usually we don't build Mac app - it takes a long time
38
39
# but sometimes we want to really confirm we are doing the right thing
@@ -44,6 +45,12 @@ macWorkflowFilters: &darwin-workflow-filters
44
45
# use the following branch as well to ensure that v8 snapshot cache updates are fully tested
45
46
- equal : [ 'update-v8-snapshot-cache-on-develop', << pipeline.git.branch >> ]
46
47
- equal : [ 'feature/experimental-retries', << pipeline.git.branch >> ]
48
+ - equal : [ 'chore/update_webpack_deps_to_latest_webpack4_compat', << pipeline.git.branch >> ]
49
+ - equal : [ 'lerna-optimize-tasks', << pipeline.git.branch >> ]
50
+ - matches :
51
+ pattern : /^release\/\d+\.\d+\.\d+$/
52
+ value : << pipeline.git.branch >>
53
+
47
54
linuxArm64WorkflowFilters : &linux-arm64-workflow-filters
48
55
when :
49
56
or :
@@ -53,6 +60,9 @@ linuxArm64WorkflowFilters: &linux-arm64-workflow-filters
53
60
- equal : [ 'feature/experimental-retries', << pipeline.git.branch >> ]
54
61
- equal : [ 'publish-binary', << pipeline.git.branch >> ]
55
62
- equal : [ 'chore/update_electron25_and_node18', << pipeline.git.branch >> ]
63
+ - equal : [ 'chore/update_webpack_deps_to_latest_webpack4_compat', << pipeline.git.branch >> ]
64
+ - equal : [ 'chore/bump_loaders_and_optimize_webpack', << pipeline.git.branch >> ]
65
+ - equal : [ 'lerna-optimize-tasks', << pipeline.git.branch >> ]
56
66
- matches :
57
67
pattern : /^release\/\d+\.\d+\.\d+$/
58
68
value : << pipeline.git.branch >>
@@ -76,6 +86,8 @@ windowsWorkflowFilters: &windows-workflow-filters
76
86
# use the following branch as well to ensure that v8 snapshot cache updates are fully tested
77
87
- equal : [ 'update-v8-snapshot-cache-on-develop', << pipeline.git.branch >> ]
78
88
- equal : [ 'feature/experimental-retries', << pipeline.git.branch >> ]
89
+ - equal : [ 'chore/update_webpack_deps_to_latest_webpack4_compat', << pipeline.git.branch >> ]
90
+ - equal : [ 'lerna-optimize-tasks', << pipeline.git.branch >> ]
79
91
- matches :
80
92
pattern : /^release\/\d+\.\d+\.\d+$/
81
93
value : << pipeline.git.branch >>
@@ -145,7 +157,7 @@ commands:
145
157
name : Set environment variable to determine whether or not to persist artifacts
146
158
command : |
147
159
echo "Setting SHOULD_PERSIST_ARTIFACTS variable"
148
- echo 'if ! [[ "$CIRCLE_BRANCH" != "develop" && "$CIRCLE_BRANCH" != "release/"* && "$CIRCLE_BRANCH" != "publish-binary" && "$CIRCLE_BRANCH" != "update-v8-snapshot-cache-on-develop " && "$CIRCLE_BRANCH" != "feature/experimental-retries" ]]; then
160
+ echo 'if ! [[ "$CIRCLE_BRANCH" != "develop" && "$CIRCLE_BRANCH" != "release/"* && "$CIRCLE_BRANCH" != "publish-binary" && "$CIRCLE_BRANCH" != "lerna-optimize-tasks " && "$CIRCLE_BRANCH" != "feature/experimental-retries" ]]; then
149
161
export SHOULD_PERSIST_ARTIFACTS=true
150
162
fi' >> "$BASH_ENV"
151
163
# You must run `setup_should_persist_artifacts` command and be using bash before running this command
@@ -222,10 +234,9 @@ commands:
222
234
description : Save entire folder as artifact for other jobs to run without reinstalling
223
235
steps :
224
236
- run :
225
- name : Build all codegen
237
+ name : Sync Cloud Validations
226
238
command : |
227
239
source ./scripts/ensure-node.sh
228
- yarn gulp buildProd
229
240
yarn gulp syncCloudValidations
230
241
- run :
231
242
name : Build packages
@@ -1057,25 +1068,6 @@ commands:
1057
1068
name : " Waiting on Circle CI jobs: <<parameters.job-names>>"
1058
1069
command : node ./scripts/wait-on-circle-jobs.js --job-names="<<parameters.job-names>>"
1059
1070
1060
- build-binary :
1061
- steps :
1062
- - run :
1063
- name : Build the Cypress binary
1064
- no_output_timeout : " 45m"
1065
- command : |
1066
- source ./scripts/ensure-node.sh
1067
- node --version
1068
- if [[ `node ./scripts/get-platform-key.js` == 'linux-arm64' ]]; then
1069
- # these are missing on Circle and there is no way to pre-install them on Arm
1070
- sudo apt-get update
1071
- sudo apt-get install -y libgtk2.0-0 libgtk-3-0 libgbm-dev libnotify-dev libgconf-2-4 libnss3 libxss1 libasound2 libxtst6 xauth xvfb
1072
- DISABLE_SNAPSHOT_REQUIRE=1 yarn binary-build --version $(node ./scripts/get-next-version.js) --createTar
1073
- else
1074
- yarn binary-build --version $(node ./scripts/get-next-version.js) --createTar
1075
- fi
1076
- - store_artifacts :
1077
- path : cypress-dist.tgz
1078
-
1079
1071
check-if-binary-exists :
1080
1072
steps :
1081
1073
- run :
@@ -1193,11 +1185,7 @@ commands:
1193
1185
name : Build NPM package
1194
1186
command : |
1195
1187
source ./scripts/ensure-node.sh
1196
- yarn build --scope cypress
1197
- - run :
1198
- name : Copy Re-exported NPM Packages
1199
- command : node ./scripts/post-build.js
1200
- working_directory : cli
1188
+ yarn lerna run build-cli
1201
1189
- run :
1202
1190
command : ls -la types
1203
1191
working_directory : cli/build
@@ -1532,6 +1520,7 @@ jobs:
1532
1520
- run : yarn test-scripts
1533
1521
# make sure packages with TypeScript can be transpiled to JS
1534
1522
- run : yarn lerna run build-prod --stream --concurrency 4
1523
+ - run : yarn build --concurrency 4
1535
1524
# run unit tests from each individual package
1536
1525
- run : yarn test
1537
1526
# run type checking for each individual package
@@ -1915,7 +1904,7 @@ jobs:
1915
1904
- restore_cached_workspace
1916
1905
- run :
1917
1906
name : Build
1918
- command : yarn workspace @cypress/webpack-preprocessor build
1907
+ command : yarn lerna run build --scope @cypress/webpack-preprocessor
1919
1908
- run :
1920
1909
name : Run tests
1921
1910
command : yarn workspace @cypress/webpack-preprocessor test
@@ -1973,7 +1962,7 @@ jobs:
1973
1962
- restore_cached_workspace
1974
1963
- run :
1975
1964
name : Build
1976
- command : yarn workspace @cypress/angular build
1965
+ command : yarn lerna run build --scope @cypress/angular
1977
1966
- store-npm-logs
1978
1967
1979
1968
npm-react :
@@ -1982,7 +1971,7 @@ jobs:
1982
1971
- restore_cached_workspace
1983
1972
- run :
1984
1973
name : Build
1985
- command : yarn workspace @cypress/react build
1974
+ command : yarn lerna run build --scope @cypress/react
1986
1975
- run :
1987
1976
name : Run tests
1988
1977
command : yarn test
@@ -1999,7 +1988,7 @@ jobs:
1999
1988
- restore_cached_workspace
2000
1989
- run :
2001
1990
name : Build
2002
- command : yarn workspace @cypress/vite-plugin-cypress-esm build
1991
+ command : yarn lerna run build --scope @cypress/vite-plugin-cypress-esm
2003
1992
- run :
2004
1993
name : Run tests
2005
1994
command : yarn test
@@ -2016,7 +2005,7 @@ jobs:
2016
2005
- restore_cached_workspace
2017
2006
- run :
2018
2007
name : Build
2019
- command : yarn workspace @cypress/mount-utils build
2008
+ command : yarn lerna run build --scope @cypress/mount-utils
2020
2009
- store-npm-logs
2021
2010
2022
2011
npm-grep :
@@ -2038,7 +2027,7 @@ jobs:
2038
2027
resource_class : small
2039
2028
steps :
2040
2029
- restore_cached_workspace
2041
- - run : yarn workspace create-cypress-tests build
2030
+ - run : yarn lerna run build --scope create-cypress-tests
2042
2031
2043
2032
npm-eslint-plugin-dev :
2044
2033
<< : *defaults
@@ -2055,8 +2044,7 @@ jobs:
2055
2044
- run :
2056
2045
name : Build + Install
2057
2046
command : |
2058
- yarn workspace @cypress/schematic build
2059
- working_directory : npm/cypress-schematic
2047
+ yarn lerna run build --scope @cypress/schematic
2060
2048
- run :
2061
2049
name : Run unit tests
2062
2050
command : |
@@ -2105,7 +2093,6 @@ jobs:
2105
2093
- restore_cached_workspace
2106
2094
- check-if-binary-exists
2107
2095
- setup_should_persist_artifacts
2108
- - build-binary
2109
2096
- trigger-publish-binary-pipeline
2110
2097
2111
2098
get-published-artifacts :
@@ -2399,10 +2386,12 @@ jobs:
2399
2386
2400
2387
test-binary-against-recipes :
2401
2388
<< : *defaults
2389
+ parallelism : 4
2402
2390
steps :
2403
2391
- test-binary-against-repo :
2404
2392
repo : cypress-example-recipes
2405
- command : npm run test:ci
2393
+ # Split the specs up across 4 different machines to run in parallel
2394
+ command : npm run test:ci -- --chunk $CIRCLE_NODE_INDEX --total-chunks $CIRCLE_NODE_TOTAL
2406
2395
browser : electron
2407
2396
2408
2397
# This is a special job. It allows you to test the current
0 commit comments