Skip to content

Commit 400d175

Browse files
authored
Merge branch 'develop' into zachw/skip-flaky-migration-test
2 parents c638868 + 52e9dbc commit 400d175

File tree

327 files changed

+8660
-6545
lines changed

Some content is hidden

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

327 files changed

+8660
-6545
lines changed

.circleci/workflows.yml

+80-40
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ mainBuildFilters: &mainBuildFilters
2828
only:
2929
- develop
3030
- /^release\/\d+\.\d+\.\d+$/
31-
- 'macOS-launch-arm-browser'
31+
- 'emily/next-version'
3232

3333
# usually we don't build Mac app - it takes a long time
3434
# but sometimes we want to really confirm we are doing the right thing
@@ -37,15 +37,16 @@ macWorkflowFilters: &darwin-workflow-filters
3737
when:
3838
or:
3939
- equal: [ develop, << pipeline.git.branch >> ]
40-
- equal: [ 'macOS-launch-arm-browser', << pipeline.git.branch >> ]
40+
- equal: [ 'mschile/chrome_memory_fix', << pipeline.git.branch >> ]
4141
- matches:
4242
pattern: /^release\/\d+\.\d+\.\d+$/
4343
value: << pipeline.git.branch >>
44+
4445
linuxArm64WorkflowFilters: &linux-arm64-workflow-filters
4546
when:
4647
or:
4748
- equal: [ develop, << pipeline.git.branch >> ]
48-
- equal: [ 'macOS-launch-arm-browser', << pipeline.git.branch >> ]
49+
- equal: [ 'mschile/chrome_memory_fix', << pipeline.git.branch >> ]
4950
- matches:
5051
pattern: /^release\/\d+\.\d+\.\d+$/
5152
value: << pipeline.git.branch >>
@@ -63,7 +64,7 @@ windowsWorkflowFilters: &windows-workflow-filters
6364
when:
6465
or:
6566
- equal: [ develop, << pipeline.git.branch >> ]
66-
- equal: [ 'retry-flake', << pipeline.git.branch >> ]
67+
- equal: [ 'mschile/chrome_memory_fix', << pipeline.git.branch >> ]
6768
- matches:
6869
pattern: /^release\/\d+\.\d+\.\d+$/
6970
value: << pipeline.git.branch >>
@@ -92,7 +93,7 @@ executors:
9293
mac:
9394
macos:
9495
# Executor should have Node >= required version
95-
xcode: "14.0.0"
96+
xcode: "14.0.1"
9697
resource_class: macos.x86.medium.gen2
9798
environment:
9899
PLATFORM: darwin
@@ -129,7 +130,7 @@ commands:
129130
- run:
130131
name: Check current branch to persist artifacts
131132
command: |
132-
if [[ "$CIRCLE_BRANCH" != "develop" && "$CIRCLE_BRANCH" != "release/"* && "$CIRCLE_BRANCH" != "macOS-launch-arm-browser" ]]; then
133+
if [[ "$CIRCLE_BRANCH" != "develop" && "$CIRCLE_BRANCH" != "release/"* && "$CIRCLE_BRANCH" != "emily/next-version" ]]; then
133134
echo "Not uploading artifacts or posting install comment for this branch."
134135
circleci-agent step halt
135136
fi
@@ -1357,6 +1358,40 @@ jobs:
13571358
path: /tmp/cypress
13581359
- store-npm-logs
13591360

1361+
driver-integration-memory-tests:
1362+
<<: *defaults
1363+
parameters:
1364+
<<: *defaultsParameters
1365+
resource_class:
1366+
type: string
1367+
default: medium
1368+
resource_class: << parameters.resource_class >>
1369+
parallelism: 1
1370+
steps:
1371+
- restore_cached_workspace
1372+
- run:
1373+
name: Driver memory tests in Electron
1374+
environment:
1375+
CYPRESS_CONFIG_ENV: production
1376+
command: |
1377+
echo Current working directory is $PWD
1378+
node --version
1379+
if [[ `node ../../scripts/get-platform-key.js` == 'linux-arm64' ]]; then
1380+
# these are missing on Circle and there is no way to pre-install them on Arm
1381+
sudo apt-get update
1382+
sudo apt-get install -y libgbm-dev
1383+
fi
1384+
1385+
CYPRESS_INTERNAL_MEMORY_SAVE_STATS=true \
1386+
DEBUG=cypress*memory \
1387+
yarn cypress:run --browser electron --spec "cypress/e2e/memory/*.cy.*"
1388+
working_directory: packages/driver
1389+
- store_test_results:
1390+
path: /tmp/cypress
1391+
- store-npm-logs
1392+
- store_artifacts:
1393+
path: packages/driver/cypress/logs/memory
1394+
13601395
unit-tests:
13611396
<<: *defaults
13621397
parameters:
@@ -1397,14 +1432,17 @@ jobs:
13971432
path: packages/errors/__snapshot-images__
13981433
- store-npm-logs
13991434

1400-
unit-tests-release:
1435+
verify-release-readiness:
14011436
<<: *defaults
14021437
resource_class: small
14031438
parallelism: 1
1439+
environment:
1440+
GITHUB_TOKEN: $GH_TOKEN
14041441
steps:
14051442
- restore_cached_workspace
14061443
- update_known_hosts
14071444
- run: yarn test-npm-package-release-script
1445+
- run: node ./scripts/semantic-commits/validate-binary-changelog.js
14081446

14091447
lint-types:
14101448
<<: *defaults
@@ -1740,31 +1778,6 @@ jobs:
17401778
- run:
17411779
name: Build
17421780
command: yarn workspace @cypress/webpack-preprocessor build
1743-
- run:
1744-
name: Test babelrc
1745-
command: yarn test
1746-
working_directory: npm/webpack-preprocessor/examples/use-babelrc
1747-
- run:
1748-
name: Build ts-loader
1749-
command: yarn install
1750-
working_directory: npm/webpack-preprocessor/examples/use-ts-loader
1751-
- run:
1752-
name: Types ts-loader
1753-
command: yarn types
1754-
working_directory: npm/webpack-preprocessor/examples/use-ts-loader
1755-
- run:
1756-
name: Test ts-loader
1757-
command: yarn test
1758-
working_directory: npm/webpack-preprocessor/examples/use-ts-loader
1759-
- run:
1760-
name: Start React app
1761-
command: yarn start
1762-
background: true
1763-
working_directory: npm/webpack-preprocessor/examples/react-app
1764-
- run:
1765-
name: Test React app
1766-
command: yarn test
1767-
working_directory: npm/webpack-preprocessor/examples/react-app
17681781
- run:
17691782
name: Run tests
17701783
command: yarn workspace @cypress/webpack-preprocessor test
@@ -2364,7 +2377,7 @@ linux-x64-workflow: &linux-x64-workflow
23642377
- unit-tests:
23652378
requires:
23662379
- build
2367-
- unit-tests-release:
2380+
- verify-release-readiness:
23682381
context: test-runner:npm-release
23692382
requires:
23702383
- build
@@ -2422,6 +2435,9 @@ linux-x64-workflow: &linux-x64-workflow
24222435
context: test-runner:cypress-record-key
24232436
requires:
24242437
- build
2438+
- driver-integration-memory-tests:
2439+
requires:
2440+
- build
24252441
- run-frontend-shared-component-tests-chrome:
24262442
context: [test-runner:cypress-record-key, test-runner:launchpad-tests, test-runner:percy]
24272443
percy: true
@@ -2535,7 +2551,7 @@ linux-x64-workflow: &linux-x64-workflow
25352551
- server-unit-tests
25362552
- test-kitchensink
25372553
- unit-tests
2538-
- unit-tests-release
2554+
- verify-release-readiness
25392555
- cli-visual-tests
25402556
- reporter-integration-tests
25412557
- run-app-component-tests-chrome
@@ -2548,6 +2564,12 @@ linux-x64-workflow: &linux-x64-workflow
25482564
- run-vite-dev-server-integration-tests
25492565
- v8-integration-tests
25502566

2567+
- create-build-artifacts:
2568+
context:
2569+
- test-runner:upload
2570+
- test-runner:commit-status-checks
2571+
requires:
2572+
- build
25512573
# various testing scenarios, like building full binary
25522574
# and testing it on a real project
25532575
- test-against-staging:
@@ -2563,12 +2585,6 @@ linux-x64-workflow: &linux-x64-workflow
25632585
<<: *mainBuildFilters
25642586
requires:
25652587
- build
2566-
- create-build-artifacts:
2567-
context:
2568-
- test-runner:upload
2569-
- test-runner:commit-status-checks
2570-
requires:
2571-
- build
25722588
- test-npm-module-on-minimum-node-version:
25732589
requires:
25742590
- create-build-artifacts
@@ -2663,6 +2679,12 @@ linux-arm64-workflow: &linux-arm64-workflow
26632679
resource_class: arm.medium
26642680
requires:
26652681
- linux-arm64-build
2682+
- driver-integration-memory-tests:
2683+
name: linux-arm64-driver-integration-memory-tests
2684+
executor: linux-arm64
2685+
resource_class: arm.medium
2686+
requires:
2687+
- linux-arm64-build
26662688

26672689
darwin-x64-workflow: &darwin-x64-workflow
26682690
jobs:
@@ -2703,6 +2725,12 @@ darwin-x64-workflow: &darwin-x64-workflow
27032725
resource_class: macos.x86.medium.gen2
27042726
requires:
27052727
- darwin-x64-build
2728+
- driver-integration-memory-tests:
2729+
name: darwin-x64-driver-integration-memory-tests
2730+
executor: mac
2731+
resource_class: macos.x86.medium.gen2
2732+
requires:
2733+
- darwin-x64-build
27062734

27072735
darwin-arm64-workflow: &darwin-arm64-workflow
27082736
jobs:
@@ -2736,6 +2764,12 @@ darwin-arm64-workflow: &darwin-arm64-workflow
27362764
resource_class: cypress-io/latest_m1
27372765
requires:
27382766
- darwin-arm64-build
2767+
- driver-integration-memory-tests:
2768+
name: darwin-arm64-driver-integration-memory-tests
2769+
executor: darwin-arm64
2770+
resource_class: cypress-io/latest_m1
2771+
requires:
2772+
- darwin-arm64-build
27392773

27402774
windows-workflow: &windows-workflow
27412775
jobs:
@@ -2798,6 +2832,12 @@ windows-workflow: &windows-workflow
27982832
resource_class: windows.large
27992833
requires:
28002834
- windows-build
2835+
- driver-integration-memory-tests:
2836+
name: windows-driver-integration-memory-tests
2837+
executor: windows
2838+
resource_class: windows.large
2839+
requires:
2840+
- windows-build
28012841

28022842
workflows:
28032843
linux-x64:

.github/ISSUE_TEMPLATE/1-bug-report.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ body:
44
- type: markdown
55
attributes:
66
value: |
7-
Have a question? 👉 [Start a new discussion](https://github.com/cypress-io/cypress/discussions) or [ask in chat](https://on.cypress.io/discord).
7+
Have a question? 👉 [Ask in chat](https://on.cypress.io/discord) or [start a new discussion](https://github.com/cypress-io/cypress/discussions).
88
- type: textarea
99
id: current-behavior
1010
attributes:
+81
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
name: "💾 Memory issue report"
2+
description: Report a memory issue found while using Cypress.
3+
body:
4+
- type: markdown
5+
attributes:
6+
value: |
7+
Have a question? 👉 [Ask in chat](https://on.cypress.io/discord) or [start a new discussion](https://github.com/cypress-io/cypress/discussions).
8+
9+
Prior to logging a memory issue, please make sure you are running the latest version of Cypress and have enabled [`experimentalMemoryManagement`](https://on.cypress.io/experiments) for Chromium-based browsers (introduced in Cypress 12.4.0).
10+
11+
If you are running in `cypress open` mode, you can also try lowering [`numTestsKeptInMemory`](https://docs.cypress.io/guides/references/configuration#Options) in your config file.
12+
13+
If you are still experiencing the issue, please fill out the following information.
14+
- type: textarea
15+
id: reproduction
16+
attributes:
17+
label: Test code to reproduce
18+
description: Please provide a failing test or repo we can run. You can fork [this repo](https://github.com/cypress-io/cypress-test-tiny), set up a failing test, then link to your fork. If you have never done this before, watch [this video](https://youtu.be/NnriKHmj5T8) for example.
19+
placeholder: Here is my failing test code and the app code to run the tests on...
20+
validations:
21+
required: true
22+
- type: dropdown
23+
id: mode
24+
attributes:
25+
label: Cypress Mode
26+
description: What mode of Cypress are you running?
27+
options:
28+
- cypress run
29+
- cypress open
30+
- both modes
31+
validations:
32+
required: true
33+
- type: input
34+
id: version
35+
attributes:
36+
label: Cypress Version
37+
description: What version of Cypress are you running? Run `cypress version` to see your current version. If possible, please update Cypress to the latest version first.
38+
placeholder: ex. 10.3.1
39+
validations:
40+
required: true
41+
- type: input
42+
id: browser
43+
attributes:
44+
label: Browser Version
45+
description: What browser(s) is Cypress running against when you are encountering your problem? The more specific the better. ie Chrome 109.0.5414.87 or Firefox 107.0
46+
placeholder: ex. Chrome 109.0.5414.87
47+
validations:
48+
required: true
49+
- type: input
50+
id: node-version
51+
attributes:
52+
label: Node version
53+
description: What version of node.js are you using to run Cypress?
54+
placeholder: ex. v16.16.0
55+
validations:
56+
required: true
57+
- type: input
58+
id: os
59+
attributes:
60+
label: Operating System
61+
description: What operating system is Cypress running on when you are encountering your problem? The more specific the better. ie macOS 12.4 or Windows 10.0.19044.1889
62+
placeholder: ex. macOS 12.4
63+
validations:
64+
required: true
65+
- type: textarea
66+
id: debug-logs
67+
attributes:
68+
label: Memory Debug Logs
69+
description: |
70+
If running a Chromium-based browser, please set the `CYPRESS_INTERNAL_MEMORY_SAVE_STATS` environment variable to `1` or `true` and include the `cypress\logs\memory\<spec name>.json` file here.
71+
72+
Alternatively, you can run Cypress in [debug mode](https://docs.cypress.io/guides/references/troubleshooting#Print-DEBUG-logs) setting `DEBUG=cypress*memory` and include the entire set of logs here.
73+
placeholder: Debug logging output
74+
render: shell
75+
validations:
76+
required: false
77+
- type: textarea
78+
id: other
79+
attributes:
80+
label: Other
81+
placeholder: Any other details?

.github/ISSUE_TEMPLATE/2-install-issue.yml .github/ISSUE_TEMPLATE/3-install-issue.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ body:
55
- type: markdown
66
attributes:
77
value: |
8-
Have a question? 👉 [Start a new discussion](https://github.com/cypress-io/cypress/discussions) or [ask in chat](https://on.cypress.io/discord).
8+
Have a question? 👉 [Ask in chat](https://on.cypress.io/discord) or [start a new discussion](https://github.com/cypress-io/cypress/discussions).
99
1010
If you're behind a corporate proxy, make sure to [configure it properly](https://on.cypress.io/proxy-configuration) before install.
1111
- type: textarea
@@ -81,4 +81,4 @@ body:
8181
id: other
8282
attributes:
8383
label: Other
84-
placeholder: Any other details?
84+
placeholder: Any other details?

.github/ISSUE_TEMPLATE/3-feature.yml .github/ISSUE_TEMPLATE/4-feature.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ body:
44
- type: markdown
55
attributes:
66
value: |
7-
Have a question? 👉 [Start a new discussion](https://github.com/cypress-io/cypress/discussions) or [ask in chat](https://on.cypress.io/discord).
7+
Have a question? 👉 [Ask in chat](https://on.cypress.io/discord) or [start a new discussion](https://github.com/cypress-io/cypress/discussions).
88
- type: textarea
99
id: feature
1010
attributes:
@@ -23,4 +23,4 @@ body:
2323
id: other
2424
attributes:
2525
label: Other
26-
placeholder: Any other details?
26+
placeholder: Any other details?

.github/ISSUE_TEMPLATE/4-flaky-test.yml .github/ISSUE_TEMPLATE/5-flaky-test.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ body:
66
- type: markdown
77
attributes:
88
value: |
9-
Have a question? 👉 [Start a new discussion](https://github.com/cypress-io/cypress/discussions) or [ask in chat](https://on.cypress.io/discord).
9+
Have a question? 👉 [Ask in chat](https://on.cypress.io/discord) or [start a new discussion](https://github.com/cypress-io/cypress/discussions).
1010
- type: textarea
1111
id: dashboard
1212
attributes:

.github/PULL_REQUEST_TEMPLATE.md

-6
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,6 @@
77

88
- Closes <!-- link to the issue here, if there is one -->
99

10-
### User facing changelog
11-
<!--
12-
Explain the change(s) for every user to read in our changelog. Examples: https://on.cypress.io/changelog
13-
If the change is not user-facing, write "n/a".
14-
-->
15-
1610
### Additional details
1711
<!-- Examples:
1812
- Why was this change necessary?

0 commit comments

Comments
 (0)