feat(services/vercel): Add additional options to Vercel cache backend#7334
Merged
Xuanwo merged 3 commits intoapache:mainfrom Apr 8, 2026
Merged
feat(services/vercel): Add additional options to Vercel cache backend#7334Xuanwo merged 3 commits intoapache:mainfrom
Xuanwo merged 3 commits intoapache:mainfrom
Conversation
mmastrac
added a commit
to vercel/sccache
that referenced
this pull request
Mar 30, 2026
Adds support for using Vercel's artifact cache as an sccache storage backend via OpenDAL's built-in VercelArtifacts service. Configure with SCCACHE_VERCEL_ARTIFACTS_TOKEN env var or via config file. Also supports endpoint, team_id, and team_slug configuration (requires apache/opendal#7334 to take effect — currently accepted but ignored). Supports multi-level cache chains (e.g., disk -> vercel_artifacts). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
mmastrac
added a commit
to vercel/sccache
that referenced
this pull request
Mar 30, 2026
Switches opendal crates.io patch from apache/opendal main to mmastrac/opendal vercel_opts branch which adds endpoint, team_id, and team_slug builder methods to the VercelArtifacts service. Upstream: apache/opendal#7334 Once the upstream PR is merged, this patch can be folded back into the apache/opendal main patch. Drop this patch entirely once opendal publishes a release containing these changes. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
mmastrac
added a commit
to vercel/sccache
that referenced
this pull request
Mar 30, 2026
Adds support for using Vercel's artifact cache as an sccache storage backend via OpenDAL's built-in VercelArtifacts service. Configure with SCCACHE_VERCEL_ARTIFACTS_TOKEN env var or via config file. Also supports endpoint, team_id, and team_slug configuration (requires apache/opendal#7334 to take effect — currently accepted but ignored). Supports multi-level cache chains (e.g., disk -> vercel_artifacts). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
mmastrac
added a commit
to vercel/sccache
that referenced
this pull request
Mar 30, 2026
Switches opendal crates.io patch from apache/opendal main to mmastrac/opendal vercel_opts branch which adds endpoint, team_id, and team_slug builder methods to the VercelArtifacts service. Upstream: apache/opendal#7334 Once the upstream PR is merged, this patch can be folded back into the apache/opendal main patch. Drop this patch entirely once opendal publishes a release containing these changes. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
mmastrac
added a commit
to vercel/sccache
that referenced
this pull request
Mar 30, 2026
Upgrades opendal to mmastrac/opendal vercel_opts branch via [patch.crates-io], which tracks apache/opendal main plus additional Vercel Artifacts builder methods (endpoint, team_id, team_slug) from apache/opendal#7334. Adds layers-logging feature to retain LoggingLayer after upstream split. Adds aws-lc-sys/prebuilt-nasm to avoid nasm build requirement in CI. Adds Vercel Artifacts cache backend configured via: - SCCACHE_VERCEL_ARTIFACTS_TOKEN (required) - SCCACHE_VERCEL_ARTIFACTS_ENDPOINT (optional) - SCCACHE_VERCEL_ARTIFACTS_TEAM_ID (optional) - SCCACHE_VERCEL_ARTIFACTS_TEAM_SLUG (optional) Upstream: apache/opendal#7334 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
mmastrac
added a commit
to vercel/sccache
that referenced
this pull request
Mar 30, 2026
Upgrades opendal to mmastrac/opendal vercel_opts branch via [patch.crates-io], which tracks apache/opendal main plus additional Vercel Artifacts builder methods (endpoint, team_id, team_slug) from apache/opendal#7334. Adds layers-logging feature to retain LoggingLayer after upstream split. Adds aws-lc-sys/prebuilt-nasm to avoid nasm build requirement in CI. Adds Vercel Artifacts cache backend configured via: - SCCACHE_VERCEL_ARTIFACTS_TOKEN (required) - SCCACHE_VERCEL_ARTIFACTS_ENDPOINT (optional) - SCCACHE_VERCEL_ARTIFACTS_TEAM_ID (optional) - SCCACHE_VERCEL_ARTIFACTS_TEAM_SLUG (optional) Upstream: apache/opendal#7334 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
mmastrac
added a commit
to vercel/sccache
that referenced
this pull request
Mar 30, 2026
Upgrades opendal to mmastrac/opendal vercel_opts branch via [patch.crates-io], which tracks apache/opendal main plus additional Vercel Artifacts builder methods (endpoint, team_id, team_slug) from apache/opendal#7334. Adds layers-logging feature to retain LoggingLayer after upstream split. Adds aws-lc-sys with prebuilt-nasm and bindgen features to avoid nasm/bindgen build requirements in CI cross-compilation. Adds Vercel Artifacts cache backend configured via: - SCCACHE_VERCEL_ARTIFACTS_TOKEN (required) - SCCACHE_VERCEL_ARTIFACTS_ENDPOINT (optional) - SCCACHE_VERCEL_ARTIFACTS_TEAM_ID (optional) - SCCACHE_VERCEL_ARTIFACTS_TEAM_SLUG (optional) Upstream: apache/opendal#7334 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
mmastrac
added a commit
to vercel/sccache
that referenced
this pull request
Mar 30, 2026
Upgrades opendal to mmastrac/opendal vercel_opts branch via [patch.crates-io], which tracks apache/opendal main plus additional Vercel Artifacts builder methods (endpoint, team_id, team_slug) from apache/opendal#7334. Adds layers-logging feature to retain LoggingLayer after upstream split. Adds aws-lc-sys with prebuilt-nasm and bindgen features to avoid nasm/bindgen build requirements in CI cross-compilation. Adds Vercel Artifacts cache backend configured via: - SCCACHE_VERCEL_ARTIFACTS_TOKEN (required) - SCCACHE_VERCEL_ARTIFACTS_ENDPOINT (optional) - SCCACHE_VERCEL_ARTIFACTS_TEAM_ID (optional) - SCCACHE_VERCEL_ARTIFACTS_TEAM_SLUG (optional) Upstream: apache/opendal#7334 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
mmastrac
added a commit
to vercel/sccache
that referenced
this pull request
Mar 30, 2026
Upgrades opendal to mmastrac/opendal vercel_opts branch via [patch.crates-io], which tracks apache/opendal main plus additional Vercel Artifacts builder methods (endpoint, team_id, team_slug) from apache/opendal#7334. Adds layers-logging feature to retain LoggingLayer after upstream split. Adds aws-lc-sys with prebuilt-nasm and bindgen features to avoid nasm/bindgen build requirements in CI cross-compilation. Adds Vercel Artifacts cache backend configured via: - SCCACHE_VERCEL_ARTIFACTS_TOKEN (required) - SCCACHE_VERCEL_ARTIFACTS_ENDPOINT (optional) - SCCACHE_VERCEL_ARTIFACTS_TEAM_ID (optional) - SCCACHE_VERCEL_ARTIFACTS_TEAM_SLUG (optional) Upstream: apache/opendal#7334 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
mmastrac
added a commit
to vercel/sccache
that referenced
this pull request
Mar 30, 2026
Upgrades opendal to mmastrac/opendal vercel_opts branch via [patch.crates-io], which tracks apache/opendal main plus additional Vercel Artifacts builder methods (endpoint, team_id, team_slug) from apache/opendal#7334. Adds layers-logging feature to retain LoggingLayer after upstream split. Adds aws-lc-sys with prebuilt-nasm and bindgen features to avoid nasm/bindgen build requirements in CI cross-compilation. Adds Vercel Artifacts cache backend configured via: - SCCACHE_VERCEL_ARTIFACTS_TOKEN (required) - SCCACHE_VERCEL_ARTIFACTS_ENDPOINT (optional) - SCCACHE_VERCEL_ARTIFACTS_TEAM_ID (optional) - SCCACHE_VERCEL_ARTIFACTS_TEAM_SLUG (optional) Upstream: apache/opendal#7334 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
mmastrac
added a commit
to vercel/sccache
that referenced
this pull request
Mar 30, 2026
Upgrades opendal to mmastrac/opendal vercel_opts branch via [patch.crates-io], which tracks apache/opendal main plus additional Vercel Artifacts builder methods (endpoint, team_id, team_slug) from apache/opendal#7334. Adds layers-logging feature to retain LoggingLayer after upstream split. Adds aws-lc-sys with prebuilt-nasm and bindgen features to avoid nasm/bindgen build requirements in CI cross-compilation. Adds Vercel Artifacts cache backend configured via: - SCCACHE_VERCEL_ARTIFACTS_TOKEN (required) - SCCACHE_VERCEL_ARTIFACTS_ENDPOINT (optional) - SCCACHE_VERCEL_ARTIFACTS_TEAM_ID (optional) - SCCACHE_VERCEL_ARTIFACTS_TEAM_SLUG (optional) Upstream: apache/opendal#7334 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
mmastrac
added a commit
to vercel/sccache
that referenced
this pull request
Mar 30, 2026
Upgrades opendal to mmastrac/opendal vercel_opts branch via [patch.crates-io], which tracks apache/opendal main plus additional Vercel Artifacts builder methods (endpoint, team_id, team_slug) from apache/opendal#7334. Adds layers-logging feature to retain LoggingLayer after upstream split. Adds aws-lc-sys with prebuilt-nasm and bindgen features to avoid nasm/bindgen build requirements in CI cross-compilation. Adds Vercel Artifacts cache backend configured via: - SCCACHE_VERCEL_ARTIFACTS_TOKEN (required) - SCCACHE_VERCEL_ARTIFACTS_ENDPOINT (optional) - SCCACHE_VERCEL_ARTIFACTS_TEAM_ID (optional) - SCCACHE_VERCEL_ARTIFACTS_TEAM_SLUG (optional) Upstream: apache/opendal#7334 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
mmastrac
added a commit
to vercel/sccache
that referenced
this pull request
Mar 31, 2026
Upgrades opendal to mmastrac/opendal vercel_opts branch via [patch.crates-io], which tracks apache/opendal main plus additional Vercel Artifacts builder methods (endpoint, team_id, team_slug) from apache/opendal#7334. Adds layers-logging feature to retain LoggingLayer after upstream split. Adds aws-lc-sys with prebuilt-nasm and bindgen features to avoid nasm/bindgen build requirements in CI cross-compilation. Adds Vercel Artifacts cache backend configured via: - SCCACHE_VERCEL_ARTIFACTS_TOKEN (required) - SCCACHE_VERCEL_ARTIFACTS_ENDPOINT (optional) - SCCACHE_VERCEL_ARTIFACTS_TEAM_ID (optional) - SCCACHE_VERCEL_ARTIFACTS_TEAM_SLUG (optional) Upstream: apache/opendal#7334 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
mmastrac
added a commit
to vercel/sccache
that referenced
this pull request
Mar 31, 2026
Upgrades opendal to mmastrac/opendal vercel_opts branch via [patch.crates-io], which tracks apache/opendal main plus additional Vercel Artifacts builder methods (endpoint, team_id, team_slug) from apache/opendal#7334. Adds layers-logging feature to retain LoggingLayer after upstream split. Adds aws-lc-sys with prebuilt-nasm and bindgen features to avoid nasm/bindgen build requirements in CI cross-compilation. Adds Vercel Artifacts cache backend configured via: - SCCACHE_VERCEL_ARTIFACTS_TOKEN (required) - SCCACHE_VERCEL_ARTIFACTS_ENDPOINT (optional) - SCCACHE_VERCEL_ARTIFACTS_TEAM_ID (optional) - SCCACHE_VERCEL_ARTIFACTS_TEAM_SLUG (optional) Upstream: apache/opendal#7334 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Contributor
Author
|
@Xuanwo, I think you might be one of the people working on this part of the codebase -- is it possible to review and land it? We're testing this patch as-is in our sccache fork and it's working well. Would be awesome to land it if you have a chance. Thanks! |
Xuanwo
approved these changes
Apr 8, 2026
Member
Xuanwo
left a comment
There was a problem hiding this comment.
Thank you for working on this!
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.
Which issue does this PR close?
Closes #7333.
Rationale for this change
The Vercel artifact backend has a well-known URL, but even at Vercel we often use the same HTTP protocol with a different backend endpoint (along with team ID and slug).
The API documentation page (https://vercel.com/docs/rest-api/artifacts/upload-a-cache-artifact) lists a number of other parameters, but endpoint URL and team id/slug are the most useful to configure when using opendal with the Vercel artifact backend.
What changes are included in this PR?
Three new configuration parameters for the VercelArtifacts backend:
endpoint: set the API endpoint (default:https://api.vercel.com)team_id: optional Vercel team ID, appended asteamIdquery parameterteam_slug: optional Vercel team slug, appended asslugquery parameterAre there any user-facing changes?
Yes, a number of parameters are added (with sane defaults) to
VercelArtifacts. Existing consumers will see no changes - this is only for advanced users.AI Usage Statement
Generated with Claude Opus 4.6.