diff --git a/.github/workflows/update-ecs-runner-qwen.yml b/.github/workflows/update-ecs-runner-qwen.yml index 004c0677409..864f6832ea4 100644 --- a/.github/workflows/update-ecs-runner-qwen.yml +++ b/.github/workflows/update-ecs-runner-qwen.yml @@ -51,18 +51,20 @@ jobs: VERSION: '${{ steps.version.outputs.version }}' run: |- set -euo pipefail - global_prefix="$(npm prefix -g)" - if [[ -w "${global_prefix}" ]]; then - npm install -g "@qwen-code/qwen-code@${VERSION}" - else - sudo env "NPM_CONFIG_PREFIX=${global_prefix}" npm install -g "@qwen-code/qwen-code@${VERSION}" - fi + # The runner service resolves the system-wide qwen binary. Do not + # carry a runner user's custom npm prefix into the sudo install. + ( + cd "${RUNNER_TEMP:?}" + sudo env -u NPM_CONFIG_PREFIX npm install -g --registry=https://registry.npmjs.org "@qwen-code/qwen-code@${VERSION}" + ) - name: 'Verify version' env: VERSION: '${{ steps.version.outputs.version }}' run: |- set -euo pipefail - actual="$(qwen --version)" + qwen_path="$(command -v qwen)" + actual="$("${qwen_path}" --version)" + echo "qwen path: ${qwen_path}" echo "qwen version: ${actual}" test "${actual}" = "${VERSION}" diff --git a/scripts/tests/update-ecs-runner-qwen-workflow.test.js b/scripts/tests/update-ecs-runner-qwen-workflow.test.js index ecfde040b87..e331576a616 100644 --- a/scripts/tests/update-ecs-runner-qwen-workflow.test.js +++ b/scripts/tests/update-ecs-runner-qwen-workflow.test.js @@ -13,14 +13,8 @@ describe('ECS runner qwen update workflow', () => { 'utf8', ); - it('updates the npm prefix used by the selected runner', () => { - expect(workflow).toContain('global_prefix="$(npm prefix -g)"'); - expect(workflow).toContain('if [[ -w "${global_prefix}" ]]'); - expect(workflow).toContain( - 'sudo env "NPM_CONFIG_PREFIX=${global_prefix}" npm install -g', - ); - expect(workflow).toMatch( - /if \[\[ -w "\$\{global_prefix\}" \]\][\s\S]*?then\s*\n\s*npm install -g/, - ); + it('installs without the selected runner npm prefix', () => { + expect(workflow).toContain('cd "${RUNNER_TEMP:?}"'); + expect(workflow).toContain('sudo env -u NPM_CONFIG_PREFIX npm install -g'); }); });