From bee31ac1887d68d2fbb9da37df1d7ef32d7c7009 Mon Sep 17 00:00:00 2001 From: 4gray Date: Tue, 15 Sep 2026 18:47:11 +0200 Subject: [PATCH] test(packaging): pin bash on the nightly version step Co-Authored-By: Claude Fable 5.1 --- .../packaging/configure-linux-frame-copy-build.test.mjs | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/tools/packaging/configure-linux-frame-copy-build.test.mjs b/tools/packaging/configure-linux-frame-copy-build.test.mjs index 6ceb14c20..a75b26db3 100644 --- a/tools/packaging/configure-linux-frame-copy-build.test.mjs +++ b/tools/packaging/configure-linux-frame-copy-build.test.mjs @@ -479,6 +479,15 @@ test('keeps non-Linux builds independent from the Linux runtime prerequisite', ( ); assert.equal(linuxJob.strategy['fail-fast'], false); assert.deepEqual(linuxJob.steps, crossPlatformJob.steps); + // Windows runners default to PowerShell, where the bash-style + // "${NIGHTLY_VERSION}" expands to nothing and the version script rejects + // the empty value; the step must pin bash on every host. + const applyNightlyVersion = crossPlatformJob.steps.find( + (step) => step.name === 'Apply nightly version' + ); + assert.ok(applyNightlyVersion); + assert.equal(applyNightlyVersion.shell, 'bash'); + assert.match(applyNightlyVersion.run, /--version "\$\{NIGHTLY_VERSION\}"/); assert.deepEqual(buildWorkflowConfig.jobs['create-release'].needs, [ 'nightly-version', 'build-cross-platform',