60 lines · 1.8 KB · Text
RawDownload
# 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 argumentsif ($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} ParseZedWorkspaceWrite-Host "Uploading nightly for target: $target" $bucketName = "zed-nightly-host" # Get current git SHA$sha = git rev-parse HEAD$sha | Out-File -FilePath "target/latest-sha" -NoNewline # TODO:# Upload remote server files# $remoteServerFiles = Get-ChildItem -Path "target" -Filter "zed-remote-server-*.gz" -Recurse -File# foreach ($file in $remoteServerFiles) {#     Upload-ToBlobStore -BucketName $bucketName -FileToUpload $file.FullName -BlobStoreKey "nightly/$($file.Name)"#     Remove-Item -Path $file.FullName# } switch ($target) {    "windows" {        UploadToBlobStore -BucketName $bucketName -FileToUpload $env:SETUP_PATH -BlobStoreKey "nightly/zed_editor_installer_x86_64.exe"        UploadToBlobStore -BucketName $bucketName -FileToUpload "target/latest-sha" -BlobStoreKey "nightly/latest-sha-windows"         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    }}