feat: refactor Linux target handling in publish-binaries.ps1 for improved clarity

This commit is contained in:
2026-04-30 17:02:50 +08:00
Unverified
parent 896e841c92
commit a0f74087ca
+10 -10
View File
@@ -59,18 +59,18 @@ $linuxTargets = @(
@{ Name = "linux-arm64"; RustTarget = "aarch64-unknown-linux-gnu"; Platform = "linux/arm64" }
) | Where-Object { $Target -eq "all" -or $Target -eq $_.Name }
foreach ($target in $linuxTargets) {
$containerName = "cdxs-build-$($target.Name)-$([guid]::NewGuid().ToString('N'))"
$imageTag = "cdxs-build:$($target.Name)"
$tmpOutDir = Join-Path $dist ".tmp-$($target.Name)"
foreach ($linuxTarget in $linuxTargets) {
$containerName = "cdxs-build-$($linuxTarget.Name)-$([guid]::NewGuid().ToString('N'))"
$imageTag = "cdxs-build:$($linuxTarget.Name)"
$tmpOutDir = Join-Path $dist ".tmp-$($linuxTarget.Name)"
New-Item -ItemType Directory -Force -Path $tmpOutDir | Out-Null
Write-Host "Building $($target.Name) with Docker platform $($target.Platform)"
Write-Host "Building $($linuxTarget.Name) with Docker platform $($linuxTarget.Platform)"
$buildArgs = @(
"buildx", "build",
"--platform", $target.Platform,
"--platform", $linuxTarget.Platform,
"--target", "builder",
"--build-arg", "RUST_TARGET=$($target.RustTarget)",
"--build-arg", "RUST_TARGET=$($linuxTarget.RustTarget)",
"--build-arg", "RUST_IMAGE=$RustImage",
"--load",
"-t", $imageTag,
@@ -79,7 +79,7 @@ foreach ($target in $linuxTargets) {
)
docker @buildArgs
if ($LASTEXITCODE -ne 0) {
throw "Docker build failed for $($target.Name)"
throw "Docker build failed for $($linuxTarget.Name)"
}
docker image inspect $imageTag | Out-Null
if ($LASTEXITCODE -ne 0) {
@@ -92,7 +92,7 @@ foreach ($target in $linuxTargets) {
try {
docker cp "${containerName}:/out/cdxs" (Join-Path $tmpOutDir "cdxs")
if ($LASTEXITCODE -ne 0) {
throw "Docker cp failed for $($target.Name)"
throw "Docker cp failed for $($linuxTarget.Name)"
}
} finally {
docker rm -f $containerName | Out-Null
@@ -100,7 +100,7 @@ foreach ($target in $linuxTargets) {
Copy-ReleaseFile `
-SourceFile (Join-Path $tmpOutDir "cdxs") `
-OutputName "cdxs-$Version-$($target.Name)"
-OutputName "cdxs-$Version-$($linuxTarget.Name)"
Remove-Item -LiteralPath $tmpOutDir -Recurse -Force
}