From 619a71ad0045b72540b44003413fe9c35b438d1b Mon Sep 17 00:00:00 2001 From: Mike McCready <66998419+MikeMcC399@users.noreply.github.com> Date: Fri, 6 Jun 2025 10:25:37 +0200 Subject: [PATCH 1/2] chore: fix pre-release download for win32-arm64 follow-on fix for PR #31784 --- cli/lib/tasks/install.js | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/cli/lib/tasks/install.js b/cli/lib/tasks/install.js index 1f2fd504cb97..d8a033622951 100644 --- a/cli/lib/tasks/install.js +++ b/cli/lib/tasks/install.js @@ -19,7 +19,15 @@ const verbose = require('../VerboseRenderer') const { buildInfo, version } = require('../../package.json') function _getBinaryUrlFromBuildInfo (arch, { commitSha, commitBranch }) { - return `https://cdn.cypress.io/beta/binary/${version}/${os.platform()}-${arch}/${commitBranch}-${commitSha}/cypress.zip` + const platform = os.platform() + + if ((platform === 'win32') && (arch === 'arm64')) { + debug(`detected platform ${platform} architecture ${arch} combination`) + arch = 'x64' + debug(`overriding to download ${platform}-${arch} pre-release binary instead`) + } + + return `https://cdn.cypress.io/beta/binary/${version}/${platform}-${arch}/${commitBranch}-${commitSha}/cypress.zip` } const alreadyInstalledMsg = () => { From 186d1606c5cb0d6d0cc34a0c983171a36c8a8ea4 Mon Sep 17 00:00:00 2001 From: Mike McCready <66998419+MikeMcC399@users.noreply.github.com> Date: Fri, 6 Jun 2025 18:58:31 +0200 Subject: [PATCH 2/2] add unit test win32-arm64 to win32-x64 for pre-release --- cli/test/lib/tasks/install_spec.js | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/cli/test/lib/tasks/install_spec.js b/cli/test/lib/tasks/install_spec.js index 8fdea8d4122c..8575c938124a 100644 --- a/cli/test/lib/tasks/install_spec.js +++ b/cli/test/lib/tasks/install_spec.js @@ -502,5 +502,12 @@ describe('/lib/tasks/install', function () { expect(install._getBinaryUrlFromBuildInfo('x64', buildInfo)) .to.eq(`https://cdn.cypress.io/beta/binary/0.0.0-development/linux-x64/aBranchName-abc123/cypress.zip`) }) + + it('overrides win32-arm64 to win32-x64 for pre-release', () => { + os.platform.returns('win32') + + expect(install._getBinaryUrlFromBuildInfo('arm64', buildInfo)) + .to.eq(`https://cdn.cypress.io/beta/binary/0.0.0-development/win32-x64/aBranchName-abc123/cypress.zip`) + }) }) })