Skip to content

Commit eb794a3

Browse files
authored
Merge branch 'develop' into feature/experimental-retries
2 parents 9799c53 + 6bdebd7 commit eb794a3

File tree

79 files changed

+2328
-1534
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

79 files changed

+2328
-1534
lines changed

.circleci/cache-version.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
# Bump this version to force CI to re-create the cache from scratch.
22

3-
09-3-23
3+
09-22-23

.circleci/workflows.yml

+26-37
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ mainBuildFilters: &mainBuildFilters
3333
- 'feature/experimental-retries'
3434
- 'publish-binary'
3535
- 'chore/update_electron25_and_node18'
36+
- 'lerna-optimize-tasks'
3637

3738
# usually we don't build Mac app - it takes a long time
3839
# but sometimes we want to really confirm we are doing the right thing
@@ -44,6 +45,12 @@ macWorkflowFilters: &darwin-workflow-filters
4445
# use the following branch as well to ensure that v8 snapshot cache updates are fully tested
4546
- equal: [ 'update-v8-snapshot-cache-on-develop', << pipeline.git.branch >> ]
4647
- 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+
4754
linuxArm64WorkflowFilters: &linux-arm64-workflow-filters
4855
when:
4956
or:
@@ -53,6 +60,9 @@ linuxArm64WorkflowFilters: &linux-arm64-workflow-filters
5360
- equal: [ 'feature/experimental-retries', << pipeline.git.branch >> ]
5461
- equal: [ 'publish-binary', << pipeline.git.branch >> ]
5562
- 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 >> ]
5666
- matches:
5767
pattern: /^release\/\d+\.\d+\.\d+$/
5868
value: << pipeline.git.branch >>
@@ -76,6 +86,8 @@ windowsWorkflowFilters: &windows-workflow-filters
7686
# use the following branch as well to ensure that v8 snapshot cache updates are fully tested
7787
- equal: [ 'update-v8-snapshot-cache-on-develop', << pipeline.git.branch >> ]
7888
- 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 >> ]
7991
- matches:
8092
pattern: /^release\/\d+\.\d+\.\d+$/
8193
value: << pipeline.git.branch >>
@@ -145,7 +157,7 @@ commands:
145157
name: Set environment variable to determine whether or not to persist artifacts
146158
command: |
147159
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
149161
export SHOULD_PERSIST_ARTIFACTS=true
150162
fi' >> "$BASH_ENV"
151163
# You must run `setup_should_persist_artifacts` command and be using bash before running this command
@@ -222,10 +234,9 @@ commands:
222234
description: Save entire folder as artifact for other jobs to run without reinstalling
223235
steps:
224236
- run:
225-
name: Build all codegen
237+
name: Sync Cloud Validations
226238
command: |
227239
source ./scripts/ensure-node.sh
228-
yarn gulp buildProd
229240
yarn gulp syncCloudValidations
230241
- run:
231242
name: Build packages
@@ -1057,25 +1068,6 @@ commands:
10571068
name: "Waiting on Circle CI jobs: <<parameters.job-names>>"
10581069
command: node ./scripts/wait-on-circle-jobs.js --job-names="<<parameters.job-names>>"
10591070

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-
10791071
check-if-binary-exists:
10801072
steps:
10811073
- run:
@@ -1193,11 +1185,7 @@ commands:
11931185
name: Build NPM package
11941186
command: |
11951187
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
12011189
- run:
12021190
command: ls -la types
12031191
working_directory: cli/build
@@ -1532,6 +1520,7 @@ jobs:
15321520
- run: yarn test-scripts
15331521
# make sure packages with TypeScript can be transpiled to JS
15341522
- run: yarn lerna run build-prod --stream --concurrency 4
1523+
- run: yarn build --concurrency 4
15351524
# run unit tests from each individual package
15361525
- run: yarn test
15371526
# run type checking for each individual package
@@ -1915,7 +1904,7 @@ jobs:
19151904
- restore_cached_workspace
19161905
- run:
19171906
name: Build
1918-
command: yarn workspace @cypress/webpack-preprocessor build
1907+
command: yarn lerna run build --scope @cypress/webpack-preprocessor
19191908
- run:
19201909
name: Run tests
19211910
command: yarn workspace @cypress/webpack-preprocessor test
@@ -1973,7 +1962,7 @@ jobs:
19731962
- restore_cached_workspace
19741963
- run:
19751964
name: Build
1976-
command: yarn workspace @cypress/angular build
1965+
command: yarn lerna run build --scope @cypress/angular
19771966
- store-npm-logs
19781967

19791968
npm-react:
@@ -1982,7 +1971,7 @@ jobs:
19821971
- restore_cached_workspace
19831972
- run:
19841973
name: Build
1985-
command: yarn workspace @cypress/react build
1974+
command: yarn lerna run build --scope @cypress/react
19861975
- run:
19871976
name: Run tests
19881977
command: yarn test
@@ -1999,7 +1988,7 @@ jobs:
19991988
- restore_cached_workspace
20001989
- run:
20011990
name: Build
2002-
command: yarn workspace @cypress/vite-plugin-cypress-esm build
1991+
command: yarn lerna run build --scope @cypress/vite-plugin-cypress-esm
20031992
- run:
20041993
name: Run tests
20051994
command: yarn test
@@ -2016,7 +2005,7 @@ jobs:
20162005
- restore_cached_workspace
20172006
- run:
20182007
name: Build
2019-
command: yarn workspace @cypress/mount-utils build
2008+
command: yarn lerna run build --scope @cypress/mount-utils
20202009
- store-npm-logs
20212010

20222011
npm-grep:
@@ -2038,7 +2027,7 @@ jobs:
20382027
resource_class: small
20392028
steps:
20402029
- restore_cached_workspace
2041-
- run: yarn workspace create-cypress-tests build
2030+
- run: yarn lerna run build --scope create-cypress-tests
20422031

20432032
npm-eslint-plugin-dev:
20442033
<<: *defaults
@@ -2055,8 +2044,7 @@ jobs:
20552044
- run:
20562045
name: Build + Install
20572046
command: |
2058-
yarn workspace @cypress/schematic build
2059-
working_directory: npm/cypress-schematic
2047+
yarn lerna run build --scope @cypress/schematic
20602048
- run:
20612049
name: Run unit tests
20622050
command: |
@@ -2105,7 +2093,6 @@ jobs:
21052093
- restore_cached_workspace
21062094
- check-if-binary-exists
21072095
- setup_should_persist_artifacts
2108-
- build-binary
21092096
- trigger-publish-binary-pipeline
21102097

21112098
get-published-artifacts:
@@ -2399,10 +2386,12 @@ jobs:
23992386

24002387
test-binary-against-recipes:
24012388
<<: *defaults
2389+
parallelism: 4
24022390
steps:
24032391
- test-binary-against-repo:
24042392
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
24062395
browser: electron
24072396

24082397
# This is a special job. It allows you to test the current

.yarnclean

+49
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
# test directories
2+
__tests__
3+
test
4+
tests
5+
powered-test
6+
7+
# asset directories
8+
docs
9+
doc
10+
# yaml package has a `doc` folder that we need
11+
!yaml/**/doc/*
12+
website
13+
images
14+
assets
15+
!mochawesome-report-generator/dist/assets
16+
17+
# examples
18+
example
19+
!@packages/example
20+
examples
21+
22+
# code coverage directories
23+
coverage
24+
.nyc_output
25+
26+
# build scripts
27+
Makefile
28+
Gulpfile.js
29+
Gruntfile.js
30+
31+
# configs
32+
appveyor.yml
33+
circle.yml
34+
codeship-services.yml
35+
codeship-steps.yml
36+
wercker.yml
37+
.tern-project
38+
.gitattributes
39+
.editorconfig
40+
.*ignore
41+
.eslintrc
42+
.jshintrc
43+
.flowconfig
44+
.documentup.json
45+
.yarn-metadata.json
46+
.travis.yml
47+
48+
# misc
49+
*.md

browser-versions.json

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
2-
"chrome:beta": "118.0.5993.11",
3-
"chrome:stable": "117.0.5938.88",
2+
"chrome:beta": "118.0.5993.21",
3+
"chrome:stable": "117.0.5938.132",
44
"chrome:minimum": "64.0.3282.0"
55
}

cli/CHANGELOG.md

+2
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@ _Released 10/03/2023 (PENDING)_
1818
**Bugfixes:**
1919

2020
- Fixed an issue where requests were correlated in the wrong order in the proxy. This could cause an issue where the wrong request is used for `cy.intercept` or assets (e.g. stylesheets or images) may not properly be available in Test Replay. Addressed in [#27892](https://github.com/cypress-io/cypress/pull/27892).
21+
- Fixed an issue where a crashed Chrome renderer can cause the Test Replay recorder to hang. Addressed in [#27909](https://github.com/cypress-io/cypress/pull/27909).
22+
- Fixed an issue where multiple responses yielded from calls to `cy.wait()` would sometimes be out of order. Fixes [#27337](https://github.com/cypress-io/cypress/issues/27337).
2123

2224
## 13.3.0
2325

cli/package.json

+17-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
"scripts": {
77
"clean": "node ./scripts/clean.js",
88
"prebuild": "yarn postinstall && node ./scripts/start-build.js",
9-
"build": "node ./scripts/build.js",
9+
"build-cli": "node ./scripts/build.js && node ./scripts/post-build.js",
1010
"dtslint": "dtslint types",
1111
"postinstall": "patch-package && node ./scripts/post-install.js",
1212
"size": "t=\"cypress-v0.0.0.tgz\"; yarn pack --filename \"${t}\"; wc -c \"${t}\"; tar tvf \"${t}\"; rm \"${t}\";",
@@ -176,5 +176,21 @@
176176
"nohoist": [
177177
"@types/*"
178178
]
179+
},
180+
"nx": {
181+
"targets": {
182+
"build-cli": {
183+
"dependsOn": [
184+
"prebuild"
185+
],
186+
"outputs": [
187+
"{projectRoot}/types",
188+
"{projectRoot}/build"
189+
]
190+
}
191+
},
192+
"implicitDependencies": [
193+
"@cypress/*"
194+
]
179195
}
180196
}

guides/building-release-artifacts.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ This guide has instructions for building both.
1919
Building a new npm package is two commands:
2020

2121
1. Increment the version in the root `package.json`
22-
2. `yarn build --scope cypress`
22+
2. `yarn lerna run build-cli`
2323

2424
The steps above:
2525

npm/angular/package.json

+9-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77
"prebuild": "rimraf dist",
88
"build": "rollup -c rollup.config.mjs",
99
"postbuild": "node ../../scripts/sync-exported-npm-with-cli.js",
10-
"build-prod": "yarn build",
1110
"check-ts": "tsc --noEmit",
1211
"lint": "eslint --ext .js,.ts,.json, ."
1312
},
@@ -59,6 +58,15 @@
5958
"publishConfig": {
6059
"access": "public"
6160
},
61+
"nx": {
62+
"targets": {
63+
"build": {
64+
"outputs": [
65+
"{workspaceRoot}/cli/angular"
66+
]
67+
}
68+
}
69+
},
6270
"standard": {
6371
"globals": [
6472
"Cypress",

npm/create-cypress-tests/package.json

+3-3
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
"main": "dist/src/main.js",
66
"scripts": {
77
"build": "yarn prepare-example && tsc -p ./tsconfig.json && node scripts/example copy-to ./dist/initial-template && yarn prepare-copy-templates",
8-
"build-prod": "yarn build",
98
"prepare-example": "node scripts/example copy-to ./initial-template",
109
"prepare-copy-templates": "node scripts/copy-templates copy-to ./dist/src",
1110
"test": "cross-env TS_NODE_PROJECT=./tsconfig.test.json mocha --config .mocharc.json './src/**/*.test.ts'",
@@ -23,14 +22,15 @@
2322
"commander": "6.2.1",
2423
"find-up": "5.0.0",
2524
"fs-extra": "^9.1.0",
26-
"inquirer": "7.3.3",
25+
"glob": "^7.1.6",
26+
"inquirer": "8.2.4",
2727
"ora": "^5.1.0",
2828
"recast": "0.20.4",
2929
"semver": "7.3.7"
3030
},
3131
"devDependencies": {
3232
"@types/babel__core": "^7.1.2",
33-
"@types/inquirer": "7.3.1",
33+
"@types/inquirer": "8.2.4",
3434
"@types/mock-fs": "4.10.0",
3535
"@types/node": "18.17.5",
3636
"@types/ora": "^3.2.0",

npm/cypress-schematic/package.json

+11
Original file line numberDiff line numberDiff line change
@@ -54,5 +54,16 @@
5454
"ng-add": {
5555
"save": "devDependencies"
5656
},
57+
"nx": {
58+
"targets": {
59+
"build": {
60+
"outputs": [
61+
"{projectRoot}/src/**/*.js",
62+
"{projectRoot}/src/**/*.d.ts",
63+
"{projectRoot}/src/**/*.js.map"
64+
]
65+
}
66+
}
67+
},
5768
"schematics": "./src/schematics/collection.json"
5869
}

npm/grep/package.json

+5
Original file line numberDiff line numberDiff line change
@@ -41,5 +41,10 @@
4141
],
4242
"publishConfig": {
4343
"access": "public"
44+
},
45+
"nx": {
46+
"implicitDependencies": [
47+
"!cypress"
48+
]
4449
}
4550
}

0 commit comments

Comments
 (0)