cypress-io / cypress

Fast, easy and reliable testing for anything that runs in a browser.
https://cypress.io
MIT License
47.09k stars 3.19k forks source link

dependency: update @electron/rebuild to 3.7.1 #30633

Closed MikeMcC399 closed 3 days ago

MikeMcC399 commented 4 days ago

Additional details

This PR builds on updates for release/14.0.0.

@electron/rebuild@3.6.2 is updated to @electron/rebuild@3.7.1 (current latest) in packages/server.

This removes the dependency on node-gyp@9.0.0 and allows node-gyp@10.2.0 to be used.

This in turn allows the default Python 3.12 version to be used on Ubuntu 24.*, removing restrictions and the need for downgrading to Python 3.11. On Windows it relieves the need to install a Windows 10 SDK additionally. Building Cypress from source is then possible, without errors from node-gyp and without resorting to these workarounds.

@electron/rebuild purpose:

This executable rebuilds native Node.js modules against the version of Node.js that your Electron project is using. This allows you to use native Node.js modules in Electron apps without your system version of Node.js matching exactly (which is often not the case, and sometimes not even possible).

Steps to test

Follow the instructions in CONTRIBUTING > Requirements including the use of Node.js v20.18.0, with the exception of special instructions for Python 3.11, which should be omitted.

git clone https://github.com/cypress-io/cypress
cd cypress
n auto # or set Node.js manually
git clean -xfd
yarn

Confirm that the installation was successful and that the following log sequence shows no errors between the steps:

[5/6] Building fresh packages...
[6/6] Cleaning modules...

Ubuntu 24.04

If the system has been previously set up for Python 3.11, then execute the following before running yarn:

unset NODE_GYP_FORCE_PYTHON

Ubuntu 24.10

Python 3.11 is not available for Ubuntu 24.10, so no special preparatory steps are necessary.

Windows 11

In Visual Studio Installer remove any Windows 10 SDK installed. Install Python 3.12 through Microsoft Store.

Confirm that the error "could not find a version of Visual Studio 2017 or newer to use" no longer occurs.

How has the user experience changed?

This issue affects contributors only.

PR Tasks

cypress-app-bot commented 4 days ago
MikeMcC399 commented 4 days ago

An update to CONTRIBUTING > Requirements is needed to remove the workaround instructions which will become obsolete if this PR is merged.

Currently the release/14.0.0 branch lags behind the develop branch, so it's better to wait to avoid update conflicts.

See

git diff release/14.0.0...develop -- CONTRIBUTING.md