publish-artifacts: change GCS latest key prefix for Workload binary#156092
Closed
williamchoe3 wants to merge 2 commits intocockroachdb:masterfrom
Closed
Conversation
Member
0165611 to
93299c1
Compare
Change latest key prefix from 'cockroach' to 'workload' for workload binary to allow for separate lifecycle policies for workload binary objects. Informs cockroachdb#154274 Epic: None Release note: None
93299c1 to
3c9254b
Compare
Mocked PutObject no longer appends /no-cache which matches real function behavior. Added unit test for release branch case. Changed docstring to remove s3 terminology Informs cockroachdb#154274 Epic: None Release note: None
rail
approved these changes
Oct 27, 2025
This was referenced Nov 3, 2025
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Original PR that was reverted: #155789
Changes split into 2 separate commits to allow for backporting only the required changes for easier merge conflict resolution
Informs #154274
In gcs
gs://cockroach-edge-artifacts-prod, changelatestWorkload binary key prefix fromcockroachtoworkloadi.e.
This will allow
latestworkload binary to not be deleted after 30 days so tests can download and use workload binaries from unsupported versions (that no longer have nightlies running against them)Notes:
gs://cockroach-edge-artifacts-prod/cockroach/workload.ee80eab77ca6434f4be7c33c0f6d29dd0b9d07b1is still prefixed withcockroachso these objects will get deleted after 30 days with the current lifecycle policyEdited
PutNonRelease's docstring to remove "redirect" terminology, looks to be from a previous s3 implementation which is not a feature of GCS.Also noticed there's no unit test coverage for non master branches, added 1 release branch test with simple coverage
Also noticed there's a slight difference between mockGCSProvider.PutObject & release.PutObject
Actual
release.PutObjectdoes not modify the key name based on thePutObjectInput.CacheControlfield, but inmockGCSProvider.PutObjectthe"/no-cache"gets appendedI changed the behavior in the mock to match the actual function, and modified the unit tests
FWIW
PutObjectInput.CacheControlis only set toFalsecurrentlyThis PR is a dependency for these roachtest changes: #155397
Also discussed other options like using a new bucket or using the release bucket here: https://cockroachlabs.slack.com/archives/C03SG8QKYRJ/p1760977289072049?thread_ts=1760976858.868889&cid=C03SG8QKYRJ
Decided on this approach for simplicity
For verification, I'm relying on the unit tests. Just assumed this wouldn't work on my local, but if there's a simple way to verify this E2E let me know and i'll do it
Will squash and write a proper commit msg after review, leaving commit separate incase i need to revert anything