Revert arm64 runners (#40852)

Release Notes:

- N/A
This commit is contained in:
Mikayla Maki
2025-10-21 20:03:02 -07:00
committed by GitHub
parent 221637ea82
commit 9c71a7f43c
5 changed files with 68 additions and 191 deletions
+26 -73
View File
@@ -2,7 +2,6 @@
Param(
[Parameter()][Alias('i')][switch]$Install,
[Parameter()][Alias('h')][switch]$Help,
[Parameter()][Alias('a')][string]$Architecture,
[Parameter()][string]$Name
)
@@ -15,44 +14,12 @@ $PSNativeCommandUseErrorActionPreference = $true
$buildSuccess = $false
$OSArchitecture = switch ([System.Runtime.InteropServices.RuntimeInformation]::OSArchitecture) {
"X64" { "x86_64" }
"Arm64" { "aarch64" }
default { throw "Unsupported architecture" }
}
$Architecture = if ($Architecture) {
$Architecture
} else {
$OSArchitecture
}
$CargoOutDir = "./target/$Architecture-pc-windows-msvc/release"
function Get-VSArch {
param(
[string]$Arch
)
switch ($Arch) {
"x86_64" { "amd64" }
"aarch64" { "arm64" }
}
}
Push-Location
& "C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\Tools\Launch-VsDevShell.ps1" -Arch (Get-VSArch -Arch $Architecture) -HostArch (Get-VSArch -Arch $OSArchitecture)
Pop-Location
$target = "$Architecture-pc-windows-msvc"
if ($Help) {
Write-Output "Usage: test.ps1 [-Install] [-Help]"
Write-Output "Build the installer for Windows.\n"
Write-Output "Options:"
Write-Output " -Architecture, -a Which architecture to build (x86_64 or aarch64)"
Write-Output " -Install, -i Run the installer after building."
Write-Output " -Help, -h Show this help message."
Write-Output " -Install, -i Run the installer after building."
Write-Output " -Help, -h Show this help message."
exit 0
}
@@ -63,10 +30,6 @@ $env:RELEASE_CHANNEL = $channel
Pop-Location
function CheckEnvironmentVariables {
if(-not $env:CI) {
return
}
$requiredVars = @(
'ZED_WORKSPACE', 'RELEASE_VERSION', 'ZED_RELEASE_CHANNEL',
'AZURE_TENANT_ID', 'AZURE_CLIENT_ID', 'AZURE_CLIENT_SECRET',
@@ -92,8 +55,6 @@ function PrepareForBundle {
New-Item -Path "$innoDir\appx" -ItemType Directory -Force
New-Item -Path "$innoDir\bin" -ItemType Directory -Force
New-Item -Path "$innoDir\tools" -ItemType Directory -Force
rustup target add $target
}
function GenerateLicenses {
@@ -106,34 +67,34 @@ function GenerateLicenses {
function BuildZedAndItsFriends {
Write-Output "Building Zed and its friends, for channel: $channel"
# Build zed.exe, cli.exe and auto_update_helper.exe
cargo build --release --package zed --package cli --package auto_update_helper --target $target
Copy-Item -Path ".\$CargoOutDir\zed.exe" -Destination "$innoDir\Zed.exe" -Force
Copy-Item -Path ".\$CargoOutDir\cli.exe" -Destination "$innoDir\cli.exe" -Force
Copy-Item -Path ".\$CargoOutDir\auto_update_helper.exe" -Destination "$innoDir\auto_update_helper.exe" -Force
cargo build --release --package zed --package cli --package auto_update_helper
Copy-Item -Path ".\target\release\zed.exe" -Destination "$innoDir\Zed.exe" -Force
Copy-Item -Path ".\target\release\cli.exe" -Destination "$innoDir\cli.exe" -Force
Copy-Item -Path ".\target\release\auto_update_helper.exe" -Destination "$innoDir\auto_update_helper.exe" -Force
# Build explorer_command_injector.dll
switch ($channel) {
"stable" {
cargo build --release --features stable --no-default-features --package explorer_command_injector --target $target
cargo build --release --features stable --no-default-features --package explorer_command_injector
}
"preview" {
cargo build --release --features preview --no-default-features --package explorer_command_injector --target $target
cargo build --release --features preview --no-default-features --package explorer_command_injector
}
default {
cargo build --release --package explorer_command_injector --target $target
cargo build --release --package explorer_command_injector
}
}
Copy-Item -Path ".\$CargoOutDir\explorer_command_injector.dll" -Destination "$innoDir\zed_explorer_command_injector.dll" -Force
Copy-Item -Path ".\target\release\explorer_command_injector.dll" -Destination "$innoDir\zed_explorer_command_injector.dll" -Force
}
function ZipZedAndItsFriendsDebug {
$items = @(
".\$CargoOutDir\zed.pdb",
".\$CargoOutDir\cli.pdb",
".\$CargoOutDir\auto_update_helper.pdb",
".\$CargoOutDir\explorer_command_injector.pdb"
".\target\release\zed.pdb",
".\target\release\cli.pdb",
".\target\release\auto_update_helper.pdb",
".\target\release\explorer_command_injector.pdb"
)
Compress-Archive -Path $items -DestinationPath ".\$CargoOutDir\zed-$env:RELEASE_VERSION-$env:ZED_RELEASE_CHANNEL.dbg.zip" -Force
Compress-Archive -Path $items -DestinationPath ".\target\release\zed-$env:RELEASE_VERSION-$env:ZED_RELEASE_CHANNEL.dbg.zip" -Force
}
@@ -148,7 +109,7 @@ function UploadToSentry {
return
}
Write-Output "Uploading zed debug symbols to sentry..."
sentry-cli debug-files upload --include-sources --wait -p zed -o zed-dev $CargoOutDir
sentry-cli debug-files upload --include-sources --wait -p zed -o zed-dev .\target\release\
}
function MakeAppx {
@@ -171,10 +132,6 @@ function MakeAppx {
}
function SignZedAndItsFriends {
if (-not $env:CI) {
return
}
$files = "$innoDir\Zed.exe,$innoDir\cli.exe,$innoDir\auto_update_helper.exe,$innoDir\zed_explorer_command_injector.dll,$innoDir\zed_explorer_command_injector.appx"
& "$innoDir\sign.ps1" $files
}
@@ -215,7 +172,7 @@ function BuildInstaller {
$appIconName = "app-icon"
$appName = "Zed"
$appDisplayName = "Zed"
$appSetupName = "Zed-$Architecture"
$appSetupName = "Zed-x86_64"
# The mutex name here should match the mutex name in crates\zed\src\zed\windows_only_instance.rs
$appMutex = "Zed-Stable-Instance-Mutex"
$appExeName = "Zed"
@@ -229,7 +186,7 @@ function BuildInstaller {
$appIconName = "app-icon-preview"
$appName = "Zed Preview"
$appDisplayName = "Zed Preview"
$appSetupName = "Zed-$Architecture"
$appSetupName = "Zed-x86_64"
# The mutex name here should match the mutex name in crates\zed\src\zed\windows_only_instance.rs
$appMutex = "Zed-Preview-Instance-Mutex"
$appExeName = "Zed"
@@ -243,7 +200,7 @@ function BuildInstaller {
$appIconName = "app-icon-nightly"
$appName = "Zed Nightly"
$appDisplayName = "Zed Nightly"
$appSetupName = "Zed-$Architecture"
$appSetupName = "Zed-x86_64"
# The mutex name here should match the mutex name in crates\zed\src\zed\windows_only_instance.rs
$appMutex = "Zed-Nightly-Instance-Mutex"
$appExeName = "Zed"
@@ -257,7 +214,7 @@ function BuildInstaller {
$appIconName = "app-icon-dev"
$appName = "Zed Dev"
$appDisplayName = "Zed Dev"
$appSetupName = "Zed-$Architecture"
$appSetupName = "Zed-x86_64"
# The mutex name here should match the mutex name in crates\zed\src\zed\windows_only_instance.rs
$appMutex = "Zed-Dev-Instance-Mutex"
$appExeName = "Zed"
@@ -295,16 +252,14 @@ function BuildInstaller {
"AppxFullName" = $appAppxFullName
}
$signTool = "powershell.exe -ExecutionPolicy Bypass -File $innoDir\sign.ps1 `$f"
$defs = @()
foreach ($key in $definitions.Keys) {
$defs += "/d$key=`"$($definitions[$key])`""
}
$innoArgs = @($issFilePath) + $defs
if($env:CI) {
$signTool = "powershell.exe -ExecutionPolicy Bypass -File $innoDir\sign.ps1 `$f"
$innoArgs += "/sDefaultsign=`"$signTool`""
}
$innoArgs = @($issFilePath) + $defs + "/sDefaultsign=`"$signTool`""
# Execute Inno Setup
Write-Host "🚀 Running Inno Setup: $innoSetupPath $innoArgs"
@@ -323,7 +278,7 @@ function BuildInstaller {
ParseZedWorkspace
$innoDir = "$env:ZED_WORKSPACE\inno"
$debugArchive = "$CargoOutDir\zed-$env:RELEASE_VERSION-$env:ZED_RELEASE_CHANNEL.dbg.zip"
$debugArchive = ".\target\release\zed-$env:RELEASE_VERSION-$env:ZED_RELEASE_CHANNEL.dbg.zip"
$debugStoreKey = "$env:ZED_RELEASE_CHANNEL/zed-$env:RELEASE_VERSION-$env:ZED_RELEASE_CHANNEL.dbg.zip"
CheckEnvironmentVariables
@@ -338,10 +293,8 @@ DownloadConpty
CollectFiles
BuildInstaller
if($env:CI) {
UploadToBlobStorePublic -BucketName "zed-debug-symbols" -FileToUpload $debugArchive -BlobStoreKey $debugStoreKey
UploadToSentry
}
UploadToBlobStorePublic -BucketName "zed-debug-symbols" -FileToUpload $debugArchive -BlobStoreKey $debugStoreKey
UploadToSentry
if ($buildSuccess) {
Write-Output "Build successful"
+37 -9
View File
@@ -1,13 +1,32 @@
[CmdletBinding()]
Param(
[Parameter()][string]$Architecture
)
# Based on the template in: https://docs.digitalocean.com/reference/api/spaces-api/
$ErrorActionPreference = "Stop"
. "$PSScriptRoot\lib\blob-store.ps1"
. "$PSScriptRoot\lib\workspace.ps1"
$allowedTargets = @("windows")
function Test-AllowedTarget {
param (
[string]$Target
)
return $allowedTargets -contains $Target
}
# Process arguments
if ($args.Count -gt 0) {
$target = $args[0]
if (Test-AllowedTarget $target) {
# Valid target
} else {
Write-Error "Error: Target '$target' is not allowed.`nUsage: $($MyInvocation.MyCommand.Name) [$($allowedTargets -join ', ')]"
exit 1
}
} else {
Write-Error "Error: Target is not specified.`nUsage: $($MyInvocation.MyCommand.Name) [$($allowedTargets -join ', ')]"
exit 1
}
ParseZedWorkspace
Write-Host "Uploading nightly for target: $target"
@@ -25,8 +44,17 @@ $sha | Out-File -FilePath "target/latest-sha" -NoNewline
# Remove-Item -Path $file.FullName
# }
UploadToBlobStore -BucketName $bucketName -FileToUpload "target/Zed-$Architecture.exe" -BlobStoreKey "nightly/Zed-$Architecture.exe"
UploadToBlobStore -BucketName $bucketName -FileToUpload "target/latest-sha" -BlobStoreKey "nightly/latest-sha-windows"
switch ($target) {
"windows" {
UploadToBlobStore -BucketName $bucketName -FileToUpload $env:SETUP_PATH -BlobStoreKey "nightly/Zed-x86_64.exe"
UploadToBlobStore -BucketName $bucketName -FileToUpload "target/latest-sha" -BlobStoreKey "nightly/latest-sha-windows"
Remove-Item -Path "target/Zed-$Architecture.exe" -ErrorAction SilentlyContinue
Remove-Item -Path "target/latest-sha" -ErrorAction SilentlyContinue
Remove-Item -Path $env:SETUP_PATH -ErrorAction SilentlyContinue
Remove-Item -Path "target/latest-sha" -ErrorAction SilentlyContinue
}
default {
Write-Error "Error: Unknown target '$target'"
exit 1
}
}