From bc0ebe3c254b24e26cfad09afe49be47d9f232dd 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:16:14 +0800 Subject: [PATCH] ci: pass stdb cargo env into bash --- .../Jenkinsfile.production-stdb-module-build | 24 ++++++++++++++----- 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/jenkins/Jenkinsfile.production-stdb-module-build b/jenkins/Jenkinsfile.production-stdb-module-build index d6cda5dc..1455aaa9 100644 --- a/jenkins/Jenkinsfile.production-stdb-module-build +++ b/jenkins/Jenkinsfile.production-stdb-module-build @@ -72,24 +72,36 @@ pipeline { $env:CARGO_HOME = "$env:WORKSPACE_TMP/cargo-home" $env:CARGO_TARGET_DIR = "$env:WORKSPACE_TMP/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 中。' } - bash -lc ' + $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 " set -euo pipefail + export $bashEnv chmod +x scripts/jenkins-prepare-cargo-env.sh source scripts/jenkins-prepare-cargo-env.sh if ! command -v cargo >/dev/null 2>&1; then - echo "[stdb-build] 缺少 cargo。请先在 Windows 构建节点安装 Rust 工具链。" >&2 + echo '[stdb-build] 缺少 cargo。请先在 Windows 构建节点安装 Rust 工具链。' >&2 exit 1 fi if ! command -v sccache >/dev/null 2>&1; then - echo "[stdb-build] 未找到 sccache,改用 rustc 直接构建。" + echo '[stdb-build] 未找到 sccache,改用 rustc 直接构建。' unset RUSTC_WRAPPER fi - SOURCE_BRANCH="${SOURCE_BRANCH}" SOURCE_COMMIT="${SOURCE_COMMIT}" \ - npm run build:production-release -- --component spacetime-module --name "${EFFECTIVE_BUILD_VERSION}" - ' + npm run build:production-release -- --component spacetime-module --name \"\${EFFECTIVE_BUILD_VERSION}\" + " ''' } }