feat(remote-cache): add self-hosted public cache server - #718
Draft
fengmk2 wants to merge 7 commits into
Draft
Conversation
Co-authored-by: GPT-6 Codex <codex@openai.com>
Co-authored-by: GPT-6 Codex <codex@openai.com>
|
Review the following changes in direct dependencies. Learn more about Socket for GitHub.
|
fspy benchmarklinuxmacoswindows |
Co-authored-by: GPT-6 Codex <codex@openai.com>
Remote cache previewCommit: Cloudflare deployment is disabled. Configure the staging environment described in the e2e plan, then set |
Co-authored-by: GPT-6 Codex <codex@openai.com>
Co-authored-by: GPT-6 Codex <codex@openai.com>
Co-authored-by: GPT-6 Codex <codex@openai.com>
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.
Add
packages/remote-cachefor the server in #716, using Cloudflare Workers, primary D1 metadata, and a private R2 bucket. The server supports public reads and GitHub Actions OpenID Connect checks for writes. Stores use streaming uploads, atomic publication, storage limits, and automatic cleanup.Cloudflare workflows deploy isolated PR previews and main-branch staging when related files change. PR comments report the tested commit and provide manual verification instructions. Closed PRs trigger resource cleanup. Deployment requires the
remote-cache-stagingenvironment and the documented repository variables.The e2e plan defines automated checks and manual exercises. PR runs check public reads and rejected writes. Main-branch pushes also check authorized uploads, concurrent
64 MiBblobs, and real Cron cleanup. The shared test driver also runs locally against workerd./fetchreturns404when neither key resolves to a live entry./blob/{blob_id}returns404for unavailable blobs. These responses use plain text, as specified in the local RFC. A missing or unreadable value for a live entry returns503.Workers Free CPU support remains unverified. The guide recommends Workers Paid for the full payload limits.
Motivation
Maintainers need a cache service in their own Cloudflare account. Developers and fork contributors must reuse public task results without login. Only trusted main-branch jobs should publish those results. Reviewers need an isolated deployment and a clear verification result after each related change.