Some checks failed
Update All Top Ranking Issues / update_top_ranking_issues (push) Has been cancelled
Triage Project Sync (#84) / Sync triage project (push) Has been cancelled
release_nightly / notify_on_failure (push) Has been cancelled
release_nightly / check_style (push) Has been cancelled
release_nightly / run_tests_windows (push) Has been cancelled
release_nightly / clippy_windows (push) Has been cancelled
release_nightly / bundle_linux_aarch64 (push) Has been cancelled
release_nightly / bundle_linux_x86_64 (push) Has been cancelled
release_nightly / bundle_mac_aarch64 (push) Has been cancelled
release_nightly / bundle_mac_x86_64 (push) Has been cancelled
release_nightly / bundle_windows_aarch64 (push) Has been cancelled
release_nightly / bundle_windows_x86_64 (push) Has been cancelled
release_nightly / build_nix_linux_x86_64 (push) Has been cancelled
release_nightly / build_nix_mac_aarch64 (push) Has been cancelled
release_nightly / update_nightly_tag (push) Has been cancelled
Hotfix Review Monitor / check-hotfix-reviews (push) Has been cancelled
Stale PR Review Reminder / check-stale-prs (push) Has been cancelled
Update Weekly Top Ranking Issues / update_top_ranking_issues (push) Has been cancelled
Bump collab-staging Tag / update-collab-staging-tag (push) Has been cancelled
compliance_check / scheduled_compliance_check (push) Has been cancelled
Single-commit orphan branch: full zed-industries/zed @ 8c74db0 source tree with a 3-file patch applied (no upstream history). Patch (crates/gpui_linux/src/linux/wayland/): - serial.rs: add SerialKind::KeyboardEnter - client.rs: store wl_keyboard.enter serial; add latest_serial_of() - window.rs: activate() uses keyboard-enter serial (Mutter focus gate) Mutter honors window activation only when the token carries the keyboard- focus serial from wl_keyboard.enter; GPUI used a stale mouse-press serial. See docs/tray-window-focus-wayland.md in logiguard. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
69 lines
2.3 KiB
PowerShell
69 lines
2.3 KiB
PowerShell
function UploadToBlobStoreWithACL {
|
|
param (
|
|
[string]$BucketName,
|
|
[string]$FileToUpload,
|
|
[string]$BlobStoreKey,
|
|
[string]$ACL
|
|
)
|
|
|
|
# Format date to match AWS requirements
|
|
$Date = (Get-Date).ToUniversalTime().ToString("r")
|
|
# Note: Original script had a bug where it overrode the ACL parameter
|
|
# I'm keeping the same behavior for compatibility
|
|
$ACL = "public-read"
|
|
$ContentType = "application/octet-stream"
|
|
$StorageClass = "STANDARD"
|
|
|
|
# Create string to sign (AWS S3 compatible format)
|
|
$StringToSign = "PUT`n`n${ContentType}`n${Date}`nx-amz-acl:${ACL}`nx-amz-storage-class:${StorageClass}`n/${BucketName}/${BlobStoreKey}"
|
|
|
|
# Generate HMAC-SHA1 signature
|
|
$HMACSHA1 = New-Object System.Security.Cryptography.HMACSHA1
|
|
$HMACSHA1.Key = [System.Text.Encoding]::UTF8.GetBytes($env:DIGITALOCEAN_SPACES_SECRET_KEY)
|
|
$Signature = [System.Convert]::ToBase64String($HMACSHA1.ComputeHash([System.Text.Encoding]::UTF8.GetBytes($StringToSign)))
|
|
|
|
# Upload file using Invoke-WebRequest (equivalent to curl)
|
|
$Headers = @{
|
|
"Host" = "${BucketName}.nyc3.digitaloceanspaces.com"
|
|
"Date" = $Date
|
|
"Content-Type" = $ContentType
|
|
"x-amz-storage-class" = $StorageClass
|
|
"x-amz-acl" = $ACL
|
|
"Authorization" = "AWS ${env:DIGITALOCEAN_SPACES_ACCESS_KEY}:$Signature"
|
|
}
|
|
|
|
$Uri = "https://${BucketName}.nyc3.digitaloceanspaces.com/${BlobStoreKey}"
|
|
|
|
# Read file content
|
|
$FileContent = Get-Content $FileToUpload -Raw -AsByteStream
|
|
|
|
try {
|
|
Invoke-WebRequest -Uri $Uri -Method PUT -Headers $Headers -Body $FileContent -ContentType $ContentType -Verbose
|
|
Write-Host "Successfully uploaded $FileToUpload to $Uri" -ForegroundColor Green
|
|
}
|
|
catch {
|
|
Write-Error "Failed to upload file: $_"
|
|
throw $_
|
|
}
|
|
}
|
|
|
|
function UploadToBlobStorePublic {
|
|
param (
|
|
[string]$BucketName,
|
|
[string]$FileToUpload,
|
|
[string]$BlobStoreKey
|
|
)
|
|
|
|
UploadToBlobStoreWithACL -BucketName $BucketName -FileToUpload $FileToUpload -BlobStoreKey $BlobStoreKey -ACL "public-read"
|
|
}
|
|
|
|
function UploadToBlobStore {
|
|
param (
|
|
[string]$BucketName,
|
|
[string]$FileToUpload,
|
|
[string]$BlobStoreKey
|
|
)
|
|
|
|
UploadToBlobStoreWithACL -BucketName $BucketName -FileToUpload $FileToUpload -BlobStoreKey $BlobStoreKey -ACL "private"
|
|
}
|