ZIm/script/lib/blob-store.sh
Conrad Irwin f03efeda73
Try to identify dSYMs by UUID not channel (#28268)
This should make it possible to more reliably symbolicate crash reports
from nightly, and from users with pending auto-updates.


Release Notes:

- N/A

---------

Co-authored-by: Ben Kunkle <ben.kunkle@gmail.com>
2025-04-07 16:08:38 -06:00

33 lines
1.1 KiB
Bash

function upload_to_blob_store_with_acl
{
bucket_name="$1"
file_to_upload="$2"
blob_store_key="$3"
acl="$4"
date=$(date +"%a, %d %b %Y %T %z")
acl="x-amz-acl:public-read"
content_type="application/octet-stream"
storage_type="x-amz-storage-class:STANDARD"
string="PUT\n\n${content_type}\n${date}\n${acl}\n${storage_type}\n/${bucket_name}/${blob_store_key}"
signature=$(echo -en "${string}" | openssl sha1 -hmac "${DIGITALOCEAN_SPACES_SECRET_KEY}" -binary | base64)
curl --fail -vv -s -X PUT -T "$file_to_upload" \
-H "Host: ${bucket_name}.nyc3.digitaloceanspaces.com" \
-H "Date: $date" \
-H "Content-Type: $content_type" \
-H "$storage_type" \
-H "$acl" \
-H "Authorization: AWS ${DIGITALOCEAN_SPACES_ACCESS_KEY}:$signature" \
"https://${bucket_name}.nyc3.digitaloceanspaces.com/${blob_store_key}"
}
function upload_to_blob_store_public
{
upload_to_blob_store_with_acl "$1" "$2" "$3" "x-amz-acl:public-read"
}
function upload_to_blob_store
{
upload_to_blob_store_with_acl "$1" "$2" "$3" "x-amz-acl:private"
}