[Important] Cobalt Build Breakage Due to Static Storage URL Change (4/24/2025)

53 views
Skip to first unread message

Lam Bui

unread,
Apr 29, 2025, 6:55:35 PMApr 29
to cobalt-dev

TL;DR; If you are seeing your Cobalt builds produce 403 errors as of Apr 24, 2025, please update your build scripts following the guidance below.


Due to internal compliance requirements, Cobalt builds will now have to use a new endpoint to fetch static storage used in Cobalt builds. What that means for partners, is any Cobalt builds that do not switch to using the new endpoint URL shared below will get 403 access errors when attempting to fetch files from the original static storage endpoint.


While current builds will work for now, we expect builds to break without the necessary changes starting Apr 24, 2025.


Thank you for your understanding.

What Are the Issues / Symptoms?

After Apr 24, 2025, local Cobalt builds may break due to new Google compliance requirements. 


403 access errors when attempting to fetch files from the original static storage endpoint.


For example:

python3 ../../starboard/tools/download_from_gcs.py --bucket cobalt-static-storage --sha1 ../../starboard/shared/starboard/player/testdata --output content/data/test/starboard/shared/starboard/player/testdata

[ERROR:download_from_gcs.py:92] Download failed: 'HTTP Error 403: Forbidden', retrying

Traceback (most recent call last):

  File "/__w/cobalt/cobalt/src/out/android-arm_gold/../../starboard/tools/download_from_gcs.py", line 90, in MaybeDownloadFileFromGcs

    tmp_file = _DownloadFromGcsAndCheckSha1(bucket, sha1)

               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


How Urgent Is This?

P0 - Your local Cobalt builds may stop working on Apr 24, 2025.

What Builds/Branches Are Affected?

All Cobalt builds in a fresh repo checkout are susceptible to this failure since they require Google Cloud Storage(GCS) bucket access to download build dependencies, test artifacts, and toolchains. Cobalt branches 25 and older are affected by this.

How Do I Fix This?

Partners MUST switch to using the new public versions of Google Static Storage Endpoints.

You can fix this by search-and-replace all instances in your code/builds where you see:

  • cobalt-static-storagecobalt-static-storage-public

  • lottie-coverage-testdata lottie-coverage-testdata-public


Using sed would be an option:


sed -i "s/cobalt-static-storage/cobalt-static-storage-public/g" *

sed -i "s/lottie-coverage-testdata/lottie-coverage-testdata-public/g" *



Here is also a set of example GitHub PRs that has changes to address this:


Git commands are also available to apply the changes


# Update latest changes from server

git fetch


# Cobalt 25.lts tags and branches

git cherry-pick 6697fc46e6


# Cobalt 24.lts tags and branches

git cherry-pick 43d272d35a


# Cobalt 23.lts tags and branches

git cherry-pick 2b0e3b9d37


What If the Fix Still Doesn’t Work?

Please file a ticket and report to your assigned YouTube Technical Account Manager.


Reply all
Reply to author
Forward
This conversation is locked
You cannot reply and perform actions on locked conversations.
0 new messages