mirror of
https://github.com/DeusData/codebase-memory-mcp.git
synced 2026-10-26 06:43:15 +08:00
Merge pull request #910 from DeusData/fix/install-cbm-arch-override
fix(smoke/install): pass explicit CBM_ARCH to install.ps1 (arm64 Phase 13)
This commit is contained in:
+14
-8
@@ -36,14 +36,20 @@ foreach ($arg in $args) {
|
||||
# unlike $env:PROCESSOR_ARCHITECTURE, which reports the emulated "AMD64", and
|
||||
# PROCESSOR_ARCHITEW6432, which is unset for 64-bit emulated processes. Fall back
|
||||
# to the env vars only if the .NET API is somehow unavailable.
|
||||
try {
|
||||
$osArch = [System.Runtime.InteropServices.RuntimeInformation]::OSArchitecture
|
||||
$Arch = if ($osArch -eq 'Arm64') { "arm64" } else { "amd64" }
|
||||
} catch {
|
||||
if ($env:PROCESSOR_ARCHITECTURE -eq "ARM64" -or $env:PROCESSOR_ARCHITEW6432 -eq "ARM64") {
|
||||
$Arch = "arm64"
|
||||
} else {
|
||||
$Arch = "amd64"
|
||||
if ($env:CBM_ARCH) {
|
||||
# Explicit override wins — used by CI/tests, and an escape hatch under x64
|
||||
# emulation on ARM64 where no in-process detection is reliable.
|
||||
$Arch = $env:CBM_ARCH
|
||||
} else {
|
||||
try {
|
||||
$osArch = [System.Runtime.InteropServices.RuntimeInformation]::OSArchitecture
|
||||
$Arch = if ($osArch -eq 'Arm64') { "arm64" } else { "amd64" }
|
||||
} catch {
|
||||
if ($env:PROCESSOR_ARCHITECTURE -eq "ARM64" -or $env:PROCESSOR_ARCHITEW6432 -eq "ARM64") {
|
||||
$Arch = "arm64"
|
||||
} else {
|
||||
$Arch = "amd64"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1778,7 +1778,9 @@ elif [ -f "$REPO_ROOT/install.ps1" ] && command -v powershell.exe &>/dev/null; t
|
||||
fi
|
||||
|
||||
# 13f: run install.ps1
|
||||
HOME="$PS1_TEST_HOME" CBM_DOWNLOAD_URL="$WIN_URL" \
|
||||
# Pass the known-correct arch: powershell runs under x64 emulation on ARM64, so
|
||||
# install.ps1's own detection can't tell it's arm64. DL_ARCH is authoritative here.
|
||||
HOME="$PS1_TEST_HOME" CBM_DOWNLOAD_URL="$WIN_URL" CBM_ARCH="$DL_ARCH" \
|
||||
powershell.exe -ExecutionPolicy ByPass -File "$WIN_SCRIPT" "--dir=$WIN_DIR" 2>&1 || true
|
||||
|
||||
# 13g: binary placed
|
||||
|
||||
Reference in New Issue
Block a user