currents-dev / cypress-cloud

Debug, troubleshoot and record Cypress CI tests in Cloud
https://currents.dev
Other
47 stars 16 forks source link

[CSR-791] cypress-cloud is not compatible with cypress 13.x #179

Open anlambert opened 1 year ago

anlambert commented 1 year ago

Before opening, please confirm:

Environment information

``` # Put output below this line System: OS: Linux 6.1 Debian GNU/Linux 12 (bookworm) 12 (bookworm) CPU: (8) x64 Intel(R) Core(TM) i7-8665U CPU @ 1.90GHz Memory: 18.94 GB / 31.16 GB Container: Yes Shell: 5.2.15 - /bin/bash Binaries: Node: 18.16.0 - /usr/bin/node Yarn: 1.22.19 - /usr/bin/yarn npm: 9.5.1 - /usr/bin/npm Browsers: Chrome: 114.0.5735.90 Chromium: 116.0.5845.140 npmPackages: eslint-config-custom: latest => 0.0.0 prettier: latest => 3.0.2 turbo: ^1.10.13 => 1.10.13 npmGlobalPackages: azurite: 3.23.0 corepack: 0.17.0 gulp-cli: 2.3.0 npm: 9.5.1 samfirm: 0.2.0 ```

Describe the bug

Due to this cypress commit that introduces some breaking API changes in cypress 13.x, I noticed two issues when using cypress-cloud with it:

  1. Executed cypress tests are always reported as failing whatever their real statuses are.

See sample cypress-cloud output put below:

``` $ yarn run cypress-cloud run --parallel --record --key somekey --cloud-debug true --ci-build-id hello-cypress36 yarn run v1.22.19 $ /home/anlambert/swh/swh-environment/swh-web/node_modules/.bin/cypress-cloud run --parallel --record --key somekey --cloud-debug true --ci-build-id hello-cypress36 WARNING Failed to load config file, falling back to the default config. Attempted locations: [ 'file:///home/anlambert/swh/swh-environment/swh-web/currents.config.js', 'file:///home/anlambert/swh/swh-environment/swh-web/currents.config.cjs', 'file:///home/anlambert/swh/swh-environment/swh-web/currents.config.mjs' ] Copyright (C) 2023 Currents Software Inc https://currents.dev This is free software, and you are welcome to redistribute it under certain conditions. This program comes with no warranty. Parts of this program are MIT licensed. Refer to the license for details https://github.com/currents-dev/cypress-cloud/blob/main/LICENSE.md Discovered 1 spec files Tags: false; Group: false; Parallel: true; Batch Size: 3 Connecting to cloud orchestration service... 🎥 Run URL: http://localhost:8080/run/aff6e1ec70f400b22c4deeb5b83332e7 ==================================================================================================== Running: cypress/e2e/home.cy.js (1/1) ==================================================================================================== (Run Starting) ┌────────────────────────────────────────────────────────────────────────────────────────────────┐ │ Cypress: 13.1.0 │ │ Browser: Electron 106 (headless) │ │ Node Version: v18.16.0 (/usr/bin/node) │ │ Specs: 1 found (home.cy.js) │ │ Searched: cypress/e2e/home.cy.js │ └────────────────────────────────────────────────────────────────────────────────────────────────┘ ──────────────────────────────────────────────────────────────────────────────────────────────────── Running: home.cy.js (1 of 1) Home Page Tests ✓ should have focus on search form after page load ✓ should display positive stats for each category ✓ should display null counters and hide history graphs when storage is empty ✓ should hide counters when data is missing ✓ should redirect to search page when submitting search form 5 passing (6s) (Results) ┌────────────────────────────────────────────────────────────────────────────────────────────────┐ │ Tests: 5 │ │ Passing: 5 │ │ Failing: 0 │ │ Pending: 0 │ │ Skipped: 0 │ │ Screenshots: 0 │ │ Video: false │ │ Duration: 6 seconds │ │ Spec Ran: home.cy.js │ └────────────────────────────────────────────────────────────────────────────────────────────────┘ ==================================================================================================== (Run Finished) Spec Tests Passing Failing Pending Skipped ┌────────────────────────────────────────────────────────────────────────────────────────────────┐ │ ✔ home.cy.js 00:06 5 5 - - - │ └────────────────────────────────────────────────────────────────────────────────────────────────┘ ✔ All specs passed! 00:06 5 5 - - - Reporting results and artifacts in background... ==================================================================================================== Cloud Run Finished ┌────────────────────────────────────────────────────────────────────────────────────────────────┐ │ Spec Tests Passing Failing Pending Skipped │ ├────────────────────────────────────────────────────────────────────────────────────────────────┤ │ ✖ cypress/e2e/home.cy.js 0ms 1 - 1 - - │ ├────────────────────────────────────────────────────────────────────────────────────────────────┤ │ ✖ 1 of 1 failed 0ms 1 - 1 - - │ └────────────────────────────────────────────────────────────────────────────────────────────────┘ 🏁 Recorded Run: http://localhost:8080/run/aff6e1ec70f400b22c4deeb5b83332e7 error Command failed with exit code 1. info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command. ```

After reading cypress-cloud code, it seems that issue can be fixed using the following diff:

diff --git a/packages/cypress-cloud/lib/results/results.ts b/packages/cypress-cloud/lib/results/results.ts
index f9380de..635f0b4 100644
--- a/packages/cypress-cloud/lib/results/results.ts
+++ b/packages/cypress-cloud/lib/results/results.ts
@@ -12,11 +12,6 @@ import { ConfigState } from "../state";

 const debug = Debug("currents:results");

-export const isSuccessResult = (
-  result: CypressResult
-): result is CypressCommandLine.CypressRunResult => {
-  return result.status === "finished";
-};

 export const getScreenshotsSummary = (
   tests: CypressCommandLine.TestResult[] = []
@@ -282,9 +277,6 @@ export function getCypressRunResultForSpec(
   spec: string,
   cypressResult: CypressResult
 ): CypressCommandLine.CypressRunResult | undefined {
-  if (!isSuccessResult(cypressResult)) {
-    return;
-  }

   const run = cypressResult.runs.find((r) => r.spec.relative === spec);
   if (!run) {
  1. Screenshots fail to be processed.

Once the fix above applied, there is an error when cypress-cloud attempts to process test screenshots, see output below:

``` $ yarn run cypress-cloud run --parallel --record --key somekey --cloud-debug true --ci-build-id hello-cypress38 yarn run v1.22.19 $ /home/anlambert/swh/swh-environment/swh-web/node_modules/.bin/cypress-cloud run --parallel --record --key somekey --cloud-debug true --ci-build-id hello-cypress38 WARNING Failed to load config file, falling back to the default config. Attempted locations: [ 'file:///home/anlambert/swh/swh-environment/swh-web/currents.config.js', 'file:///home/anlambert/swh/swh-environment/swh-web/currents.config.cjs', 'file:///home/anlambert/swh/swh-environment/swh-web/currents.config.mjs' ] Copyright (C) 2023 Currents Software Inc https://currents.dev This is free software, and you are welcome to redistribute it under certain conditions. This program comes with no warranty. Parts of this program are MIT licensed. Refer to the license for details https://github.com/currents-dev/cypress-cloud/blob/main/LICENSE.md Discovered 1 spec files Tags: false; Group: false; Parallel: true; Batch Size: 3 Connecting to cloud orchestration service... 🎥 Run URL: http://localhost:8080/run/8daacfecbd761c3d663e7e4bd2646eae ==================================================================================================== Running: cypress/e2e/home.cy.js (1/1) ==================================================================================================== (Run Starting) ┌────────────────────────────────────────────────────────────────────────────────────────────────┐ │ Cypress: 13.1.0 │ │ Browser: Electron 106 (headless) │ │ Node Version: v18.16.0 (/usr/bin/node) │ │ Specs: 1 found (home.cy.js) │ │ Searched: cypress/e2e/home.cy.js │ └────────────────────────────────────────────────────────────────────────────────────────────────┘ ──────────────────────────────────────────────────────────────────────────────────────────────────── Running: home.cy.js (1 of 1) Home Page Tests ✓ should have focus on search form after page load ✓ should display positive stats for each category ✓ should display null counters and hide history graphs when storage is empty ✓ should hide counters when data is missing ✓ should redirect to search page when submitting search form 5 passing (6s) (Results) ┌────────────────────────────────────────────────────────────────────────────────────────────────┐ │ Tests: 5 │ │ Passing: 5 │ │ Failing: 0 │ │ Pending: 0 │ │ Skipped: 0 │ │ Screenshots: 0 │ │ Video: false │ │ Duration: 6 seconds │ │ Spec Ran: home.cy.js │ └────────────────────────────────────────────────────────────────────────────────────────────────┘ ==================================================================================================== (Run Finished) Spec Tests Passing Failing Pending Skipped ┌────────────────────────────────────────────────────────────────────────────────────────────────┐ │ ✔ home.cy.js 00:06 5 5 - - - │ └────────────────────────────────────────────────────────────────────────────────────────────────┘ ✔ All specs passed! 00:06 5 5 - - - Reporting results and artifacts in background... ERROR TypeError: Cannot read properties of undefined (reading 'flatMap') at /home/anlambert/swh/swh-environment/swh-web/node_modules/lib/results/results.ts:26:21 at Array.flatMap () at /home/anlambert/swh/swh-environment/swh-web/node_modules/lib/results/results.ts:25:19 at Array.flatMap () at getScreenshotsSummary (/home/anlambert/swh/swh-environment/swh-web/node_modules/lib/results/results.ts:24:16) at getInstanceResultPayload (/home/anlambert/swh/swh-environment/swh-web/node_modules/lib/results/results.ts:62:18) at getReportResultsTask (/home/anlambert/swh/swh-environment/swh-web/node_modules/lib/results/uploadResults.ts:22:13) at createReportTask (/home/anlambert/swh/swh-environment/swh-web/node_modules/lib/runner/reportTask.ts:26:3) at /home/anlambert/swh/swh-environment/swh-web/node_modules/lib/runner/runner.ts:55:7 at Array.forEach () at runTillDone (/home/anlambert/swh/swh-environment/swh-web/node_modules/lib/runner/runner.ts:54:7) ==================================================================================================== Cloud Run Finished ┌────────────────────────────────────────────────────────────────────────────────────────────────┐ │ Spec Tests Passing Failing Pending Skipped │ ├────────────────────────────────────────────────────────────────────────────────────────────────┤ │ ✔ undefined 6.2s 5 5 - - - │ ├────────────────────────────────────────────────────────────────────────────────────────────────┤ │ ✔ All specs passed! 6.2s 5 5 - - - │ └────────────────────────────────────────────────────────────────────────────────────────────────┘ 🏁 Recorded Run: http://localhost:8080/run/8daacfecbd761c3d663e7e4bd2646eae Done in 13.82s. ```

The fix for this one is not straightforward to me.

Expected behavior

cypress 13.x should be supported.

Command and Setup

Just run any cypress-cloud session with cypress 13.x and the reported errors will show up.

Full log and debug output

cypress_cloud_debug_logs.txt

agoldis commented 1 year ago

@grushetsky

Please try this:

//... 
async setupNodeEvents(on, config) {
    await cloudPlugin(on, config);
    //... 
}
midleman commented 1 year ago
  • setting video:true enables videos in cypress 13
  • please tell me if setting videoUploadOnPasses: true in cypress.config.js (despite the warnings) solves the issue for you

ah interesting, yep, that fixes it!

romankhomitskyi commented 1 year ago

looks like everythins is good passed on CI

agoldis commented 1 year ago

I have updated the guide for setting up cypress-cloud together with multiple plugins. There are a few caveats, please take a look here: https://github.com/currents-dev/cypress-cloud#setup-with-existing-plugins

grushetsky commented 1 year ago

@agoldis, the suggested fix works! Thank you!

agoldis commented 1 year ago

@agoldis, the suggested fix works! Thank you!

Awesome, I also updated the documentation

romankhomitskyi commented 1 year ago

"cypress": "13.2.0", "cypress-cloud": "2.0.0-beta.0",

async setupNodeEvents(on, config) {
cypressGrep(config);
return await cloudPlugin(on, config);
}
Screenshot 2023-09-21 at 13 39 32

image

I have an error for random specs, which occurs after I switched from cy2 to cypress cloud What can cause the issue?

agoldis commented 1 year ago

@romankhomitskyi i need more data to troubleshoot - the debug logs of the affected runs (see cypress-cloud troubleshooting section) and the dump of the affected run item from the database.

agoldis commented 1 year ago

Released 2.0.0-beta.1 with a few fixes and improvements:

romankhomitskyi commented 1 year ago

@romankhomitskyi i need more data to troubleshoot - the debug logs of the affected runs (see cypress-cloud troubleshooting section) and the dump of the affected run item from the database.

image

Screenshot 2023-09-24 at 20 01 45

I guess that error causing the issue

midleman commented 1 year ago

ok, just noticed something, 2.0.0-beta.0 uploads screenshots on failures 2.0.0-beta.1 does not upload screenshots on failures

i have the same exact config between both and didn't change anything other than the cypress-cloud package version.

agoldis commented 1 year ago

@midleman is it consistently failing? I am challenged because we do have tests that verify uploads on failures. If you have a chance to generate a debug log, please do.

bilarallen commented 1 year ago

ok, just noticed something, 2.0.0-beta.0 uploads screenshots on failures 2.0.0-beta.1 does not upload screenshots on failures i have the same exact config between both and didn't change anything other than the cypress-cloud package version.

@midleman @agoldis I have upgraded to 2.0.0-beta.1 and the following is the behavior I noticed with cypress-cloud:

For the video, I think this has something to do with Set the default value of videoUploadOnPasses to true that's been a default in 2.0.0-beta.1

Before in 2.0.0-beta.0 my cypress config are the following and all works fine and I didn't change it when I upgraded to 2.0.0-beta.1:

  videoCompression: false,
  video: true,
  screenshotOnRunFailure: true,
agoldis commented 1 year ago

@bilarallen @midleman

The option was removed in Cypress 13 - keeping it will trigger a warning message. Enabling videos (videos: true) will activate videos for all tests, regardless of the outcome. We wanted to have similar behaviour to avoid confusion. You can still provide this option and cypress-cloud will respect it - it will trigger Cypress 13 warnings, though.

The changes between 2.0.0-beta.0 and 2.0.0-beta.1 are not functional - we added tests and a few debug statements. It's very surprising to see different behaviour. We need the debug logs to understand what caused the screenshots to disappear. After the changes to Module API output, we use more complicated methods to capture run information, including screenshots and test attempt details. But that also complicates the troubleshooting. Your help with producing the debug logs or a standalone isolated reproducible example is appreciated - the issues you're reporting are preventing us from releasing 2.0.0.

venunh commented 1 year ago

Hi @agoldis , Right now am using cypress 10.8.0 with cy2 to achieve parallel execution and with sorry cypress dashboard to view results. Now am planning to upgrade to cypress 13.2.0 with cypress cloud and sorry cypress dashboard. Can you please guide me how to perform this ? I tried creating currents.config.js file and added importing cypress-cloud plugin and support in cypress.config.ts and e2e.js file and used below command to execute. npx cypress-cloud run --parallel --record --key somekey --ci-build-id test_build_123.

I started seeing error message as , Unable to resolve cypress configuration

Below are the version used: cypress - 13.2.0 cypress-cloud - beta

bilarallen commented 1 year ago

@bilarallen @midleman

  • videoUploadOnPasses

The option was removed in Cypress 13 - keeping it will trigger a warning message. Enabling videos (videos: true) will activate videos for all tests, regardless of the outcome. We wanted to have similar behaviour to avoid confusion. You can still provide this option and cypress-cloud will respect it - it will trigger Cypress 13 warnings, though.

  • missing screenshots for failed / flaky tests

The changes between 2.0.0-beta.0 and 2.0.0-beta.1 are not functional - we added tests and a few debug statements. It's very surprising to see different behaviour. We need the debug logs to understand what caused the screenshots to disappear. After the changes to Module API output, we use more complicated methods to capture run information, including screenshots and test attempt details. But that also complicates the troubleshooting. Your he lp with producing the debug logs or a standalone isolated reproducible example is appreciated - the issues you're reporting are preventing us from releasing 2.0.0.

Hi @agoldis I tried to run a failing test with debug logs, hope this helps.

cypress_cloud_issues_179_no_screenshot_logs.txt

agoldis commented 1 year ago

@bilarallen Thanks, that was helpful!

I can see that the log file has some missing some event that should have been emitted by cypress. Please try installing cypress-on-fix plugin as described here: https://github.com/currents-dev/cypress-cloud#event-callbacks-for-multiple-plugins and tell me if it fixed the issue.

bilarallen commented 1 year ago

@bilarallen Thanks, that was helpful!

I can see that the log file has some missing some event that should have been emitted by cypress. Please try installing cypress-on-fix plugin as described here: https://github.com/currents-dev/cypress-cloud#event-callbacks-for-multiple-plugins and tell me if it fixed the issue.

Hi, @agoldis I tried to use the cypress-on-fix plugin and it worked! The screenshot in the failed/flaky run is now included, but it seems it spawned another issue wherein the screenshot didn't capture the error or the moment the test failed also there's some issue with the video timestamp this occurred in all test retries.

image

image

Also, there's one thing I noticed in terminal when running the test in cypress GUI (e2e) see my cypress config file particularly lines 43 and 46 image image

estefafdez commented 1 year ago

Cypress 13 got us this error tonight:

20:08:25  [AWS CodeBuild Plugin] We've detected that you're using a 3rd party library that is not supported by Cypress: cli.js
20:08:25  [AWS CodeBuild Plugin] To continue running Cypress, please remove this library or reach out for help migrating.

it's working with cypress 12.17.4 but not working again with cypress 13 :(

dangenendt commented 1 year ago

@estefafdez Same here... i guess, cypress now checks the dependencies and throw this error when they see "cypress-cloud" package. Can we patch this? 🧐^^

gmerwan commented 1 year ago

Same as @estefafdez Has anyone found a solution for this ?

estefafdez commented 1 year ago

Right now, downgrade to cypress 12 (latest version) and wait until the currents teams think about a solution :(

dangenendt commented 1 year ago

This will be hard one, i guess... Seems like this check happens partially remote. If so, its an interesting point that cypress seems to call home with some repo infos 🤡 Our Pipeline already worked with cypress 13.2 since some days... so last night this check "has been activated" in some way

estefafdez commented 1 year ago

This will be hard one, i guess... Seems like this check happens partially remote. If so, its an interesting point that cypress seems to call home with some repo infos 🤡 Our Pipeline already worked with cypress 13.2 since some days... so last night this check "has been activated" in some way

Same on our side...

anlambert commented 1 year ago

This will be hard one, i guess... Seems like this check happens partially remote. If so, its an interesting point that cypress seems to call home with some repo infos 🤡 Our Pipeline already worked with cypress 13.2 since some days... so last night this check "has been activated" in some way

Same issue from my side, regardless cypress-cloud version used (tested with 1.10.0-beta.4 and 2.0.0-beta.1): https://jenkins.softwareheritage.org/blue/organizations/jenkins/DWAPPS%2Fgitlab-builds/detail/gitlab-builds/320/pipeline.

Curiously, I can run the tests locally without any issue:

$ CURRENTS_API_URL=http://localhost:1234 CURRENTS_PROJECT_ID=swh-web yarn run cypress-cloud run --record --key swh-web --parallel --ci-build-id build-2
yarn run v1.22.19
$ /home/anlambert/swh/swh-environment/swh-web/node_modules/.bin/cypress-cloud run --record --key swh-web --parallel --ci-build-id build-2
 WARNING  Failed to load config file, falling back to the default config. Attempted locations: [
  'file:///home/anlambert/swh/swh-environment/swh-web/currents.config.js',
  'file:///home/anlambert/swh/swh-environment/swh-web/currents.config.cjs',
  'file:///home/anlambert/swh/swh-environment/swh-web/currents.config.mjs'
]

Copyright (C) 2023 Currents Software Inc https://currents.dev
This is free software, and you are welcome to redistribute it under certain
conditions. This program comes with no warranty. Parts of this program are MIT
licensed. Refer to the license for details
https://github.com/currents-dev/cypress-cloud/blob/main/LICENSE.md

Cypress-cloud version: 2.0.0-beta.1
Cypress version: 13.3.0
Discovered 25 spec files
Tags: false; Group: false; Parallel: true; Batch Size: 3
Connecting to cloud orchestration service...
🎥 Run URL: http://localhost:8080/run/e455e0bdc0d3226e99bc24547f2ea7ab

====================================================================================================

Running: cypress/e2e/add-forge-now-request-dashboard.cy.js (2/25)

====================================================================================================

  (Run Starting)

  ┌────────────────────────────────────────────────────────────────────────────────────────────────┐
  │ Cypress:        13.3.0                                                                         │
  │ Browser:        Electron 114 (headless)                                                        │
  │ Node Version:   v18.16.0 (/usr/bin/node)                                                       │
  │ Specs:          1 found (add-forge-now-request-dashboard.cy.js)                                │
  │ Searched:       cypress/e2e/add-forge-now-request-dashboard.cy.js                              │
  └────────────────────────────────────────────────────────────────────────────────────────────────┘

────────────────────────────────────────────────────────────────────────────────────────────────────

  Running:  add-forge-now-request-dashboard.cy.js                                           (1 of 1)

  Test add forge now request dashboard load
    ✓ should load add forge request details
    ✓ should show send message link

...
romankhomitskyi commented 1 year ago

[cypress-cloud] Could not get cypress attempt error details so that is the latest error?

romankhomitskyi commented 1 year ago

"cypress": "13.2.0", "cypress-cloud": "2.0.0-beta.0",

Screenshot 2023-09-28 at 18 20 22

it does not upload screenshots when before all hook is failed

jiangzhuo commented 1 year ago

This will be hard one, i guess... Seems like this check happens partially remote. If so, its an interesting point that cypress seems to call home with some repo infos 🤡 Our Pipeline already worked with cypress 13.2 since some days... so last night this check "has been activated" in some way

Same issue from my side, regardless cypress-cloud version used (tested with 1.10.0-beta.4 and 2.0.0-beta.1): https://jenkins.softwareheritage.org/blue/organizations/jenkins/DWAPPS%2Fgitlab-builds/detail/gitlab-builds/320/pipeline.

Curiously, I can run the tests locally without any issue:

$ CURRENTS_API_URL=http://localhost:1234 CURRENTS_PROJECT_ID=swh-web yarn run cypress-cloud run --record --key swh-web --parallel --ci-build-id build-2
yarn run v1.22.19
$ /home/anlambert/swh/swh-environment/swh-web/node_modules/.bin/cypress-cloud run --record --key swh-web --parallel --ci-build-id build-2
 WARNING  Failed to load config file, falling back to the default config. Attempted locations: [
  'file:///home/anlambert/swh/swh-environment/swh-web/currents.config.js',
  'file:///home/anlambert/swh/swh-environment/swh-web/currents.config.cjs',
  'file:///home/anlambert/swh/swh-environment/swh-web/currents.config.mjs'
]

Copyright (C) 2023 Currents Software Inc https://currents.dev
This is free software, and you are welcome to redistribute it under certain
conditions. This program comes with no warranty. Parts of this program are MIT
licensed. Refer to the license for details
https://github.com/currents-dev/cypress-cloud/blob/main/LICENSE.md

Cypress-cloud version: 2.0.0-beta.1
Cypress version: 13.3.0
Discovered 25 spec files
Tags: false; Group: false; Parallel: true; Batch Size: 3
Connecting to cloud orchestration service...
🎥 Run URL: http://localhost:8080/run/e455e0bdc0d3226e99bc24547f2ea7ab

====================================================================================================

Running: cypress/e2e/add-forge-now-request-dashboard.cy.js (2/25)

====================================================================================================

  (Run Starting)

  ┌────────────────────────────────────────────────────────────────────────────────────────────────┐
  │ Cypress:        13.3.0                                                                         │
  │ Browser:        Electron 114 (headless)                                                        │
  │ Node Version:   v18.16.0 (/usr/bin/node)                                                       │
  │ Specs:          1 found (add-forge-now-request-dashboard.cy.js)                                │
  │ Searched:       cypress/e2e/add-forge-now-request-dashboard.cy.js                              │
  └────────────────────────────────────────────────────────────────────────────────────────────────┘

────────────────────────────────────────────────────────────────────────────────────────────────────

  Running:  add-forge-now-request-dashboard.cy.js                                           (1 of 1)

  Test add forge now request dashboard load
    ✓ should load add forge request details
    ✓ should show send message link

...

same here, I can run in my local successfully, but in lambda environment(Lambda function from a container image) got the 3rd party error. I also tried to run the docker image in my local with docker run, also got the 3rd party error.

jiangzhuo commented 1 year ago

Based on my experimental guesses, the logic for detection is in the cypress binary and does not require an internet connection, and there may be two points of detection:

  1. Is there cypress-cloud in node_modules
  2. is there currents.config.js in project root
mix4242 commented 1 year ago

https://www.cypress.io/blog/2023/09/25/defense-intellectual-property

Roemer commented 1 year ago

I am a bit confused. Cypress launched the Cypress Gateway Connector License, (costing around 5k$/y) so that a 3rd party recording solution can be used. And now that does not work? I could not test with the latest version of Sorry Cypress but I will get in touch with Cypress to check, if that should work with this license or not.

Edit: According to Cypress, it should work with a valid Cypress Connector Gateway license, I will give it a try next week.

ssurendra549 commented 1 year ago

We are getting this error while running cypress in Jenkins pipeline -

"We've detected that you're using a 3rd party library that is not supported by Cypress: cypress-cloud To continue running Cypress, please remove this library or reach out for help migrating."

below is my configuration:

"cypress": "^13.3.0", "cypress-cloud": "^2.0.0-beta.1"

followed the migration document and made the changes accordingly - https://currents.dev/readme/integration-with-cypress/cypress-cloud/migration-to-cypress-13

bilarallen commented 1 year ago

The Cypress team is already investigating and working on a fix https://github.com/cypress-io/cypress/discussions/27924 it seems other libraries that do not make test recordings were also affected. 🤞 that this will solve the issue with currents, if not where do we go from here? 🥲

tiehfood commented 1 year ago

Seems like cypress is not going to fix this. Ticket ist closed and I still get the error message after clearing the runner cache like described in the ticket

agoldis commented 1 year ago

Hey everyone, we published the response with more details about the recent blocking, including the technical analysis. We need to change our approach because they will keep implementing new blockings. It requires careful planning and more time. Thanks for your patience and support!

Roemer commented 1 year ago

According to Cypress, they want to get this working for paying customers (like we are with the Cypress Gateway Connector) because they themselves do not have an on-premise dashboard. @agoldis did you ever have contact with Cypress directly? I am in contact with them and they need more details in order to fix it.

agoldis commented 1 year ago

@Roemer

papermana commented 1 year ago

Would forking Cypress be a viable solution to this?

Krivega commented 1 year ago

Would forking Cypress be a viable solution to this?

I made a fork of cypress-cloud and renamed everything possible. And it worked for.version 13.3.0. I also had to rename all environment variables, for example CURRENTS_API_URL

estefafdez commented 1 year ago

Would forking Cypress be a viable solution to this?

I made a fork of cypress-cloud and renamed everything possible. And it worked for.version 13.3.0. I also had to rename all environment variables, for example CURRENTS_API_URL

Could you share how to do it please?

Krivega commented 1 year ago

Would forking Cypress be a viable solution to this?

I made a fork of cypress-cloud and renamed everything possible. And it worked for.version 13.3.0. I also had to rename all environment variables, for example CURRENTS_API_URL

Could you share how to do it please?

https://www.npmjs.com/package/@krivega/cc

This is a temporary solution, now I am afraid that they will block it too)

GeuntaBuwono commented 9 months ago

so it's dead end of 3rd party self hosted cypress monitor ? 😭

agoldis commented 9 months ago

@GeuntaBuwono you can still use older versions of cypress https://currents.dev/readme/integration-with-cypress/alternative-cypress-binaries