Skip to content

Commit

Permalink
Merge branch 'develop' into tgriesser/spike/spike
Browse files Browse the repository at this point in the history
* develop: (27 commits)
  refactor: remove unused cloud routes (#25584)
  chore: fix issue template formatting issue (#25587)
  fix: fixed issue with CT + electron + run mode not exiting properly (#25585)
  chore(deps): update dependency ua-parser-js to v0.7.33 [security] (#25561)
  fix: add alternative binary names for edge-beta (#25456)
  chore: add batch execution to CloudDataSource (#22457)
  chore: End a/b campaigns for aci smart banners (#25504)
  chore: release @cypress/schematic-v2.5.0
  fix(cypress-schematic): do not disable e2e support file (#25400)
  chore: adding memory issue template (#25559)
  feat: Add Angular CT Schematic (#24374)
  chore: enforce changelog entries on PR reviews (#25459)
  chore: bump package.json to 12.4.0 [run ci] (#25556)
  feat: Add 'type' option to `.as` to store aliases by value (#25251)
  chore: release @cypress/webpack-dev-server-v3.2.3
  feat: Display line break in cy.log (#25467)
  chore: update types (#25538)
  fix: Revert "fix: adding emergency garbage collection for chromium-based browsers" (#25546)
  fix: percy - wait to take snapshot until previous tooltips are gone (#25522)
  feat: support data-qa selector in selector playground (#25475)
  ...
  • Loading branch information
tgriesser committed Jan 26, 2023
2 parents df037c1 + 1d8d2f9 commit 33493ee
Show file tree
Hide file tree
Showing 256 changed files with 6,713 additions and 5,848 deletions.
120 changes: 80 additions & 40 deletions .circleci/workflows.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ mainBuildFilters: &mainBuildFilters
only:
- develop
- /^release\/\d+\.\d+\.\d+$/
- 'macOS-launch-arm-browser'
- 'mschile/chrome_memory_fix'

# usually we don't build Mac app - it takes a long time
# but sometimes we want to really confirm we are doing the right thing
Expand All @@ -37,15 +37,16 @@ macWorkflowFilters: &darwin-workflow-filters
when:
or:
- equal: [ develop, << pipeline.git.branch >> ]
- equal: [ 'macOS-launch-arm-browser', << pipeline.git.branch >> ]
- equal: [ 'mschile/chrome_memory_fix', << pipeline.git.branch >> ]
- matches:
pattern: /^release\/\d+\.\d+\.\d+$/
value: << pipeline.git.branch >>

linuxArm64WorkflowFilters: &linux-arm64-workflow-filters
when:
or:
- equal: [ develop, << pipeline.git.branch >> ]
- equal: [ 'macOS-launch-arm-browser', << pipeline.git.branch >> ]
- equal: [ 'mschile/chrome_memory_fix', << pipeline.git.branch >> ]
- matches:
pattern: /^release\/\d+\.\d+\.\d+$/
value: << pipeline.git.branch >>
Expand All @@ -63,7 +64,7 @@ windowsWorkflowFilters: &windows-workflow-filters
when:
or:
- equal: [ develop, << pipeline.git.branch >> ]
- equal: [ 'retry-flake', << pipeline.git.branch >> ]
- equal: [ 'mschile/chrome_memory_fix', << pipeline.git.branch >> ]
- matches:
pattern: /^release\/\d+\.\d+\.\d+$/
value: << pipeline.git.branch >>
Expand Down Expand Up @@ -92,7 +93,7 @@ executors:
mac:
macos:
# Executor should have Node >= required version
xcode: "14.0.0"
xcode: "14.0.1"
resource_class: macos.x86.medium.gen2
environment:
PLATFORM: darwin
Expand Down Expand Up @@ -129,7 +130,7 @@ commands:
- run:
name: Check current branch to persist artifacts
command: |
if [[ "$CIRCLE_BRANCH" != "develop" && "$CIRCLE_BRANCH" != "release/"* && "$CIRCLE_BRANCH" != "macOS-launch-arm-browser" ]]; then
if [[ "$CIRCLE_BRANCH" != "develop" && "$CIRCLE_BRANCH" != "release/"* && "$CIRCLE_BRANCH" != "mschile/chrome_memory_fix" ]]; then
echo "Not uploading artifacts or posting install comment for this branch."
circleci-agent step halt
fi
Expand Down Expand Up @@ -1357,6 +1358,40 @@ jobs:
path: /tmp/cypress
- store-npm-logs

driver-integration-memory-tests:
<<: *defaults
parameters:
<<: *defaultsParameters
resource_class:
type: string
default: medium
resource_class: << parameters.resource_class >>
parallelism: 1
steps:
- restore_cached_workspace
- run:
name: Driver memory tests in Electron
environment:
CYPRESS_CONFIG_ENV: production
command: |
echo Current working directory is $PWD
node --version
if [[ `node ../../scripts/get-platform-key.js` == 'linux-arm64' ]]; then
# these are missing on Circle and there is no way to pre-install them on Arm
sudo apt-get update
sudo apt-get install -y libgbm-dev
fi
CYPRESS_INTERNAL_MEMORY_SAVE_STATS=true \
DEBUG=cypress*memory \
yarn cypress:run --browser electron --spec "cypress/e2e/memory/*.cy.*"
working_directory: packages/driver
- store_test_results:
path: /tmp/cypress
- store-npm-logs
- store_artifacts:
path: packages/driver/cypress/logs/memory

unit-tests:
<<: *defaults
parameters:
Expand Down Expand Up @@ -1397,14 +1432,17 @@ jobs:
path: packages/errors/__snapshot-images__
- store-npm-logs

unit-tests-release:
verify-release-readiness:
<<: *defaults
resource_class: small
parallelism: 1
environment:
GITHUB_TOKEN: $GH_TOKEN
steps:
- restore_cached_workspace
- update_known_hosts
- run: yarn test-npm-package-release-script
- run: node ./scripts/semantic-commits/validate-binary-changelog.js

lint-types:
<<: *defaults
Expand Down Expand Up @@ -1740,31 +1778,6 @@ jobs:
- run:
name: Build
command: yarn workspace @cypress/webpack-preprocessor build
- run:
name: Test babelrc
command: yarn test
working_directory: npm/webpack-preprocessor/examples/use-babelrc
- run:
name: Build ts-loader
command: yarn install
working_directory: npm/webpack-preprocessor/examples/use-ts-loader
- run:
name: Types ts-loader
command: yarn types
working_directory: npm/webpack-preprocessor/examples/use-ts-loader
- run:
name: Test ts-loader
command: yarn test
working_directory: npm/webpack-preprocessor/examples/use-ts-loader
- run:
name: Start React app
command: yarn start
background: true
working_directory: npm/webpack-preprocessor/examples/react-app
- run:
name: Test React app
command: yarn test
working_directory: npm/webpack-preprocessor/examples/react-app
- run:
name: Run tests
command: yarn workspace @cypress/webpack-preprocessor test
Expand Down Expand Up @@ -2364,7 +2377,7 @@ linux-x64-workflow: &linux-x64-workflow
- unit-tests:
requires:
- build
- unit-tests-release:
- verify-release-readiness:
context: test-runner:npm-release
requires:
- build
Expand Down Expand Up @@ -2422,6 +2435,9 @@ linux-x64-workflow: &linux-x64-workflow
context: test-runner:cypress-record-key
requires:
- build
- driver-integration-memory-tests:
requires:
- build
- run-frontend-shared-component-tests-chrome:
context: [test-runner:cypress-record-key, test-runner:launchpad-tests, test-runner:percy]
percy: true
Expand Down Expand Up @@ -2535,7 +2551,7 @@ linux-x64-workflow: &linux-x64-workflow
- server-unit-tests
- test-kitchensink
- unit-tests
- unit-tests-release
- verify-release-readiness
- cli-visual-tests
- reporter-integration-tests
- run-app-component-tests-chrome
Expand All @@ -2548,6 +2564,12 @@ linux-x64-workflow: &linux-x64-workflow
- run-vite-dev-server-integration-tests
- v8-integration-tests

- create-build-artifacts:
context:
- test-runner:upload
- test-runner:commit-status-checks
requires:
- build
# various testing scenarios, like building full binary
# and testing it on a real project
- test-against-staging:
Expand All @@ -2563,12 +2585,6 @@ linux-x64-workflow: &linux-x64-workflow
<<: *mainBuildFilters
requires:
- build
- create-build-artifacts:
context:
- test-runner:upload
- test-runner:commit-status-checks
requires:
- build
- test-npm-module-on-minimum-node-version:
requires:
- create-build-artifacts
Expand Down Expand Up @@ -2663,6 +2679,12 @@ linux-arm64-workflow: &linux-arm64-workflow
resource_class: arm.medium
requires:
- linux-arm64-build
- driver-integration-memory-tests:
name: linux-arm64-driver-integration-memory-tests
executor: linux-arm64
resource_class: arm.medium
requires:
- linux-arm64-build

darwin-x64-workflow: &darwin-x64-workflow
jobs:
Expand Down Expand Up @@ -2703,6 +2725,12 @@ darwin-x64-workflow: &darwin-x64-workflow
resource_class: macos.x86.medium.gen2
requires:
- darwin-x64-build
- driver-integration-memory-tests:
name: darwin-x64-driver-integration-memory-tests
executor: mac
resource_class: macos.x86.medium.gen2
requires:
- darwin-x64-build

darwin-arm64-workflow: &darwin-arm64-workflow
jobs:
Expand Down Expand Up @@ -2736,6 +2764,12 @@ darwin-arm64-workflow: &darwin-arm64-workflow
resource_class: cypress-io/latest_m1
requires:
- darwin-arm64-build
- driver-integration-memory-tests:
name: darwin-arm64-driver-integration-memory-tests
executor: darwin-arm64
resource_class: cypress-io/latest_m1
requires:
- darwin-arm64-build

windows-workflow: &windows-workflow
jobs:
Expand Down Expand Up @@ -2798,6 +2832,12 @@ windows-workflow: &windows-workflow
resource_class: windows.large
requires:
- windows-build
- driver-integration-memory-tests:
name: windows-driver-integration-memory-tests
executor: windows
resource_class: windows.large
requires:
- windows-build

workflows:
linux-x64:
Expand Down
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/1-bug-report.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ body:
- type: markdown
attributes:
value: |
Have a question? 👉 [Start a new discussion](https://github.com/cypress-io/cypress/discussions) or [ask in chat](https://on.cypress.io/discord).
Have a question? 👉 [Ask in chat](https://on.cypress.io/discord) or [start a new discussion](https://github.com/cypress-io/cypress/discussions).
- type: textarea
id: current-behavior
attributes:
Expand Down
81 changes: 81 additions & 0 deletions .github/ISSUE_TEMPLATE/2-memory-issue.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
name: "💾 Memory issue report"
description: Report a memory issue found while using Cypress.
body:
- type: markdown
attributes:
value: |
Have a question? 👉 [Ask in chat](https://on.cypress.io/discord) or [start a new discussion](/~https://github.com/cypress-io/cypress/discussions).
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).
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.
If you are still experiencing the issue, please fill out the following information.
- type: textarea
id: reproduction
attributes:
label: Test code to reproduce
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.
placeholder: Here is my failing test code and the app code to run the tests on...
validations:
required: true
- type: dropdown
id: mode
attributes:
label: Cypress Mode
description: What mode of Cypress are you running?
options:
- cypress run
- cypress open
- both modes
validations:
required: true
- type: input
id: version
attributes:
label: Cypress Version
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.
placeholder: ex. 10.3.1
validations:
required: true
- type: input
id: browser
attributes:
label: Browser Version
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
placeholder: ex. Chrome 109.0.5414.87
validations:
required: true
- type: input
id: node-version
attributes:
label: Node version
description: What version of node.js are you using to run Cypress?
placeholder: ex. v16.16.0
validations:
required: true
- type: input
id: os
attributes:
label: Operating System
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
placeholder: ex. macOS 12.4
validations:
required: true
- type: textarea
id: debug-logs
attributes:
label: Memory Debug Logs
description: |
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.
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.
placeholder: Debug logging output
render: shell
validations:
required: false
- type: textarea
id: other
attributes:
label: Other
placeholder: Any other details?
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ body:
- type: markdown
attributes:
value: |
Have a question? 👉 [Start a new discussion](https://github.com/cypress-io/cypress/discussions) or [ask in chat](https://on.cypress.io/discord).
Have a question? 👉 [Ask in chat](https://on.cypress.io/discord) or [start a new discussion](https://github.com/cypress-io/cypress/discussions).
If you're behind a corporate proxy, make sure to [configure it properly](https://on.cypress.io/proxy-configuration) before install.
- type: textarea
Expand Down Expand Up @@ -81,4 +81,4 @@ body:
id: other
attributes:
label: Other
placeholder: Any other details?
placeholder: Any other details?
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ body:
- type: markdown
attributes:
value: |
Have a question? 👉 [Start a new discussion](https://github.com/cypress-io/cypress/discussions) or [ask in chat](https://on.cypress.io/discord).
Have a question? 👉 [Ask in chat](https://on.cypress.io/discord) or [start a new discussion](https://github.com/cypress-io/cypress/discussions).
- type: textarea
id: feature
attributes:
Expand All @@ -23,4 +23,4 @@ body:
id: other
attributes:
label: Other
placeholder: Any other details?
placeholder: Any other details?
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ body:
- type: markdown
attributes:
value: |
Have a question? 👉 [Start a new discussion](https://github.com/cypress-io/cypress/discussions) or [ask in chat](https://on.cypress.io/discord).
Have a question? 👉 [Ask in chat](https://on.cypress.io/discord) or [start a new discussion](https://github.com/cypress-io/cypress/discussions).
- type: textarea
id: dashboard
attributes:
Expand Down
6 changes: 0 additions & 6 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,6 @@

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

### User facing changelog
<!--
Explain the change(s) for every user to read in our changelog. Examples: https://on.cypress.io/changelog
If the change is not user-facing, write "n/a".
-->

### Additional details
<!-- Examples:
- Why was this change necessary?
Expand Down
Loading

0 comments on commit 33493ee

Please sign in to comment.