Skip to content

feat: install win32-x64 binary on win32-arm64 platform #31784

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 3 commits into
base: develop
Choose a base branch
from

Conversation

MikeMcC399
Copy link
Contributor

@MikeMcC399 MikeMcC399 commented May 24, 2025

Additional details

Attempting to install Cypress on a Windows arm64 system (aka WoA - Windows on Arm) causes Cypress to abort the installation and output the error message:

The Cypress App could not be installed. Your machine does not meet the operating system requirements.

Cypress does not build a binary for the Microsoft Windows arm64 architecture (win32-arm64), however Windows Arm-based PCs offers emulation for win32-x64 apps. The available x64 emulation functionality of Windows has so far not been used by Cypress.

To enable installation of the Cypress win32-x64 binary on Windows arm64 systems, opening up the possibility for Windows on Arm to provide its emulation capabilities to Cypress, two changes are made:

  1. In cli/lib/tasks/download.js if Windows on arm64 is detected, then the download is changed to use the Cypress Windows x64 binary (win32-x64) instead.
  2. In cli/lib/tasks/install.js the list of valid platforms is extended to include win32-arm64.

Steps to test

Previously tested as a patch in https://github.com/MikeMcC399/cypress-example-kitchensink/tree/use/windows-11-arm using workflow .github/workflows/chrome.yml.

Testable in branch windows-11-arm-beta using workflow .github/workflows/chrome.yml as soon as a beta binary build is available

... both using Windows 11 arm image (windows-11-arm) currently in public preview.

CircleCI does not currently offer a Windows arm platform for CI testing.

How has the user experience changed?

With this PR, users of Arm-based Windows PCs can install and run Cypress in the same way they would on an amd64-based Windows PC.

PR Tasks

@cypress-app-bot
Copy link
Collaborator

@MikeMcC399
Copy link
Contributor Author

@jennifer-shehane

It does not look like any of the CI failures are caused by the PR itself. They are more in the category of general flake.
If this PR were to cause failures it would be in the installation phases.

The full functionality of Cypress running under Windows on Arm can't actually be tested at this time, because CircleCI does not offer any Windows arm64 runner. So all that is being tested here is that it doesn't break anything else!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Win32-Arm64 Is not supported.
2 participants