From ceea868478e075d62fbd48e011cf55ea7ea5f790 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=8E=86=E5=86=B0=E9=83=81-hermes=E7=89=88?= Date: Wed, 6 May 2026 15:19:19 +0800 Subject: [PATCH] ci: quote stdb bash build version --- .../Jenkinsfile.production-stdb-module-build | 34 +++++++++---------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/jenkins/Jenkinsfile.production-stdb-module-build b/jenkins/Jenkinsfile.production-stdb-module-build index 1455aaa9..d9b30029 100644 --- a/jenkins/Jenkinsfile.production-stdb-module-build +++ b/jenkins/Jenkinsfile.production-stdb-module-build @@ -69,27 +69,26 @@ pipeline { steps { powershell ''' $ErrorActionPreference = 'Stop' - $env:CARGO_HOME = "$env:WORKSPACE_TMP/cargo-home" - $env:CARGO_TARGET_DIR = "$env:WORKSPACE_TMP/cargo-target/prod-release" + $workspaceTmp = if ($env:WORKSPACE_TMP) { $env:WORKSPACE_TMP } else { "$env:WORKSPACE@tmp" } + $effectiveBuildVersion = if ($env:EFFECTIVE_BUILD_VERSION) { $env:EFFECTIVE_BUILD_VERSION } elseif ($env:BUILD_VERSION) { $env:BUILD_VERSION } else { $env:BUILD_NUMBER } + $env:CARGO_HOME = "$workspaceTmp/cargo-home" + $env:CARGO_TARGET_DIR = "$workspaceTmp/cargo-target/prod-release" $env:SCCACHE_DIR = "$env:USERPROFILE/.cache/sccache-stdb-module" $env:PATH = "$env:CARGO_HOME/bin;$env:PATH" if (-not (Get-Command bash -ErrorAction SilentlyContinue)) { throw '[stdb-build] Windows 构建节点缺少 bash,无法执行仓库现有生产构建脚本。请先安装 Git Bash 或 WSL bash,并确保 bash 在 PATH 中。' } - $bashEnv = @( - "CARGO_HOME=$($env:CARGO_HOME)", - "CARGO_TARGET_DIR=$($env:CARGO_TARGET_DIR)", - "CARGO_INCREMENTAL=$($env:CARGO_INCREMENTAL)", - "RUSTC_WRAPPER=$($env:RUSTC_WRAPPER)", - "SCCACHE_DIR=$($env:SCCACHE_DIR)", - "SCCACHE_CACHE_SIZE=$($env:SCCACHE_CACHE_SIZE)", - "SOURCE_BRANCH=$($env:SOURCE_BRANCH)", - "SOURCE_COMMIT=$($env:SOURCE_COMMIT)", - "EFFECTIVE_BUILD_VERSION=$($env:EFFECTIVE_BUILD_VERSION)" - ) -join ' ' - bash -lc " + $bashScript = @" set -euo pipefail - export $bashEnv + export CARGO_HOME="`$(cygpath -u '$($env:CARGO_HOME)')" + export CARGO_TARGET_DIR="`$(cygpath -u '$($env:CARGO_TARGET_DIR)')" + export SCCACHE_DIR="`$(cygpath -u '$($env:SCCACHE_DIR)')" + export CARGO_INCREMENTAL='$($env:CARGO_INCREMENTAL)' + export RUSTC_WRAPPER='$($env:RUSTC_WRAPPER)' + export SCCACHE_CACHE_SIZE='$($env:SCCACHE_CACHE_SIZE)' + export SOURCE_BRANCH='$($env:SOURCE_BRANCH)' + export SOURCE_COMMIT='$($env:SOURCE_COMMIT)' + export EFFECTIVE_BUILD_VERSION='$effectiveBuildVersion' chmod +x scripts/jenkins-prepare-cargo-env.sh source scripts/jenkins-prepare-cargo-env.sh if ! command -v cargo >/dev/null 2>&1; then @@ -100,8 +99,9 @@ pipeline { echo '[stdb-build] 未找到 sccache,改用 rustc 直接构建。' unset RUSTC_WRAPPER fi - npm run build:production-release -- --component spacetime-module --name \"\${EFFECTIVE_BUILD_VERSION}\" - " + npm run build:production-release -- --component spacetime-module --name "`$EFFECTIVE_BUILD_VERSION" +"@ + bash -lc $bashScript ''' } }