diff --git a/cli/CHANGELOG.md b/cli/CHANGELOG.md index 1c695985b71..ce813922fd1 100644 --- a/cli/CHANGELOG.md +++ b/cli/CHANGELOG.md @@ -1,4 +1,12 @@ +## 14.5.0 + +_Released 6/17/2025 (PENDING)_ + +**Features:** + +- Install Cypress `win32-x64` binary on Windows `win32-arm64` systems. Cypress runs in emulation. Addresses [#30252](https://github.com/cypress-io/cypress/issues/30252). + ## 14.4.1 _Released 6/3/2025_ diff --git a/cli/lib/tasks/download.js b/cli/lib/tasks/download.js index 01d0f73bc0a..d88c48f9caa 100644 --- a/cli/lib/tasks/download.js +++ b/cli/lib/tasks/download.js @@ -61,6 +61,12 @@ const prepend = (arch, urlPath, version) => { const platform = os.platform() const pathTemplate = util.getEnv('CYPRESS_DOWNLOAD_PATH_TEMPLATE', true) + if ((platform === 'win32') && (arch === 'arm64')) { + debug(`detected platform ${platform} architecture ${arch} combination`) + arch = 'x64' + debug(`overriding to download ${platform}-${arch} instead`) + } + return pathTemplate ? ( pathTemplate diff --git a/cli/lib/tasks/install.js b/cli/lib/tasks/install.js index 04665ba88ce..1f2fd504cb9 100644 --- a/cli/lib/tasks/install.js +++ b/cli/lib/tasks/install.js @@ -138,7 +138,7 @@ const downloadAndUnzip = ({ version, installDir, downloadDir }) => { const validateOS = () => { return util.getPlatformInfo().then((platformInfo) => { - return platformInfo.match(/(win32-x64|linux-x64|linux-arm64|darwin-x64|darwin-arm64)/) + return platformInfo.match(/(win32-x64|win32-arm64|linux-x64|linux-arm64|darwin-x64|darwin-arm64)/) }) }