Conversation
|
Review the following changes in direct dependencies. Learn more about Socket for GitHub.
|
fspy benchmarklinuxmacoswindows |
Remote cache stagingCommit: Cloudflare staging deployment and smoke tests passed. You can now perform manual verification. Endpoint: https://vp-cache-ci-staging.voidzero-docs.workers.dev/projects/manual Download the remote-cache-e2e-36336249075-1 artifact from the workflow run. It contains PR checks cover public reads and rejected writes. Main-branch push checks also cover authorized HTTP stores. This staging endpoint is shared by all PRs and main. A later deployment replaces its code and manual fixture. Compare the deployment ID in the response with the artifact before manual verification. Closing this PR does not remove staging. |
194d39f to
e461d47
Compare
|
Deploy prompt:
|
df2d129 to
e127e9b
Compare
e127e9b to
d4b0fea
Compare
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>
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>
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>
Co-authored-by: GPT-6 Codex <codex@openai.com>
Remove the obsolete cache size study and its RFC link. 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>
Co-authored-by: GPT-6 Codex <codex@openai.com>
`npm_execpath` points to pnpm's standalone executable on the Linux and Windows runners, so running it through `node` failed. Run it directly unless it's a JavaScript entry point. The remote cache package also brought esbuild and workerd into the workspace, and a root `pnpm install` without `--ignore-scripts` failed on their unapproved build scripts. Allow them, as the standalone package already does. Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…service `remote-cache-server` now runs the Worker from `packages/remote-cache` in workerd through Miniflare instead of the Node test backend, so the e2e tests exercise `vp run` against the real service. The wrapper proxies requests to the service. It signs an upload token for each store with a key the service fetches in place of GitHub's. It numbers the service's random blob IDs in upload order for the request log, and copies each blob to `remote-cache/blobs/<number>`, storing a changed copy on the next run so tests can still corrupt an archive. The only snapshot change is the request log for a fetch miss, which the service answers with a 404. The cases are skipped on musl because workerd's prebuilt binaries require glibc. The `remote_cache_backend` fixture only tested the old backend, and the service has its own protocol tests, so it's removed along with `cbor-http` and its EDN formatting. Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
58347c9 to
c2f00bd
Compare
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 data expiry.One workflow deploys related changes to a persistent staging Worker, D1 database, and R2 bucket. Internal PRs,
mainpushes, and manual runs share these resources. The workflow runs deployments and smoke tests in sequence, then updates PR comments with the tested revision and manual instructions. Each deployment replaces the previous revision. Closing a PR keeps staging available. Setup uses repository secrets and variables. Repository maintainers can configure staging without a GitHub environment.The e2e plan defines automated checks and manual exercises. PR runs check public reads and rejected writes. Pushes to
mainalso check authorized uploads, multipart storage, replacement, concurrency, and quotas. Local tests repeat smoke checks against reused storage and retain maximum-payload and scheduled-handler coverage. Real Cron execution and maximum payloads on Cloudflare require separate release exercises./fetchreturns only{ kind: "fallback", key }for fallback matches and does not read R2. Exact matches return the value andblob_id. A missing or unreadable exact value returns503. Fetch misses and unavailable blobs return plain-text404, as specified in the local RFC.Setup rejects incompatible origins and repositories before it changes existing policies or saved configuration. Each Worker has separate rate-limit counters that remain stable across revisions. 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 jobs on
mainshould publish those results. Reviewers need one persistent staging environment and a clear verification result after each related change.