Skip to content

First deploy after void secret put fails with Cloudflare 100405 (exports differ) on a Durable Object Worker #460

Open

Description

@resolutionathens

On a Worker with Durable Objects, the first void deploy --platform cloudflare after void secret put fails when Void stages the new version at 0% beside the secret-changed one:

■ deploy: Cloudflare could not stage the uploaded Worker Version at zero-percent traffic (exit 1); production traffic is unchanged. Cloudflare error code: 100405.
  │ [100405] All versions in a multi-version deployment must declare identical `exports`. Deploy the version that changes `exports` at 100% first, then split traffic.

Repro (unmodified void 1.1.11; a fresh Worker each time; ~670 KB, so the 1 MiB read-back in #459 is not involved):

  1. void deploy a new Worker with two SQLite Durable Object classes (defineDurableObject), routes, two defineScheduled crons, preview_urls: false and a version_metadata binding: succeeds.
  2. void secret put JEV_API_KEY (declared optional in env.ts): succeeds.
  3. void deploy with no code change: fails as above, and so does every retry.

The same code was rebuilt between steps 1 and 3, so the exports shouldn't differ; it looks like the version created by the secret change declares different exports from a version Void uploads. An older Worker of ours did deploy after secret changes, so it may depend on something about a fresh Worker's first versions, but we haven't narrowed that down.

Found while looking into #459. void 1.1.11, cf CLI bundled with it, Node 24.18, macOS.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    Priority

    None yet

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions