feat: refactor Linux target handling in publish-binaries.ps1 for improved clarity
This commit is contained in:
@@ -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
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user