From c72d70d61da1c299013c3a8ac265c1c17f14523d Mon Sep 17 00:00:00 2001 From: Michal Suba Date: Tue, 4 Aug 2026 09:52:51 +0200 Subject: [PATCH] fix(azure): add copy-public-builds support for PROVIDER=azure The aws/gcp branches were the only ones handled; PROVIDER=azure fell through to the gcp else-branch and tried to build a gs:// bucket name from the unset GCP_BUCKET_PREFIX, producing a malformed "gs://-fc-kernels/" path. Downloads from the same public GCS bucket as the other two branches (using `gcloud storage cp` rather than `gsutil`, which gates on Python 3.9-3.13 and isn't needed for the newer command), then uploads via `az storage blob upload-batch` into the fc-kernels/fc-versions/fc-busybox containers using AZURE_STORAGE_ACCOUNT_NAME. Containers are unprefixed (unlike AWS/GCP's per-purpose-prefixed buckets), since BYOC's Azure storage account already carries the unique prefix in its own name. Verified end-to-end against live Azure BYOC environments. Co-Authored-By: Claude Fable 5 --- Makefile | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/Makefile b/Makefile index 3abcdc1c6b..14a131cc33 100644 --- a/Makefile +++ b/Makefile @@ -114,6 +114,19 @@ ifeq ($(PROVIDER),aws) rm -rf ./.kernels rm -rf ./.firecrackers rm -rf ./.busybox +else ifeq ($(PROVIDER),azure) + mkdir -p ./.kernels + mkdir -p ./.firecrackers + mkdir -p ./.busybox + gcloud storage cp -r "gs://e2b-prod-public-builds/kernels/*" ./.kernels/ + gcloud storage cp -r "gs://e2b-prod-public-builds/firecrackers/*" ./.firecrackers/ + gcloud storage cp -r "gs://e2b-prod-public-builds/busybox/*" ./.busybox/ + az storage blob upload-batch --auth-mode login --account-name $(AZURE_STORAGE_ACCOUNT_NAME) --destination fc-kernels --source ./.kernels + az storage blob upload-batch --auth-mode login --account-name $(AZURE_STORAGE_ACCOUNT_NAME) --destination fc-versions --source ./.firecrackers + az storage blob upload-batch --auth-mode login --account-name $(AZURE_STORAGE_ACCOUNT_NAME) --destination fc-busybox --source ./.busybox + rm -rf ./.kernels + rm -rf ./.firecrackers + rm -rf ./.busybox else gsutil cp -r gs://e2b-prod-public-builds/kernels/* gs://$(GCP_BUCKET_PREFIX)fc-kernels/ gsutil cp -r gs://e2b-prod-public-builds/firecrackers/* gs://$(GCP_BUCKET_PREFIX)fc-versions/