Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

void deploy cannot deploy a Worker with no URL after its first deploy, and --atomic refuses it

Ouverte
#644 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Les mainteneurs répondent en général sous 1 jour

Personne n'a encore pris cette issue.

Évaluation

Difficulté
4/5
Temps estimé
1-2 jours
Accessibilité débutants
48/100
Type d'issue
Bug
Clarté
Plutôt claire
Activité
Active
Stack technique
typescript
Domaine
devops

Piste de recherche

Start with packages/deploy-cloudflare/src/version.ts around lines 1329–1354 and packages/void/src/cli/deploy-cloudflare-helpers.ts around lines 576–582; trace how deploy readiness is determined when a Worker has no URL. Then inspect packages/void/src/cli/deploy-cloudflare-build.ts around lines 166–171 for the --atomic restriction. Done means no-URL Workers can be deployed, and the error no longer recommends CLOUDFLARE_WORKERS_SUBDOMAIN when workers_dev is false.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

Filed by Claude Opus 5.5 on behalf of @anaclumos under explicit approval

Seen on Void 1.3.0 with void deploy --platform cloudflare. The same code is still in main (1d554ae6).

void deploy checks readiness only through a URL that already reaches the Worker: a version preview URL, a workers.dev route, a Custom Domain, or a /* route. A Worker with none of these cannot be deployed after its first deploy.

Some Workers have workers_dev: false, preview_urls: false, and no route, such as a Worker reached only through a service binding. The first deploy of such a Worker skips readiness and succeeds. Every later deploy uploads the version and then stops before activation with "the uploaded Worker Version has no preview URL, so Void cannot verify readiness", and production stays on the old version (version.ts#L1329-L1354, deploy-cloudflare-helpers.ts#L576-L582).

Neither existing escape works:

  • The error says to set CLOUDFLARE_WORKERS_SUBDOMAIN, but Void builds a workers.dev readiness URL only when workers_dev is true, so the subdomain changes nothing here.
  • --atomic publishes without a staged probe, but it refuses any Worker without Durable Object migration history ("atomic deployment is only for Workers with Durable Object migration history", deploy-cloudflare-build.ts#L166-L171). A plain service-binding Worker has none.

Expected:

  • a way to deploy a Worker with no URL, such as a flag that skips the readiness probe, --atomic for any Worker, or a readiness check that does not need a URL
  • an error that does not suggest CLOUDFLARE_WORKERS_SUBDOMAIN when workers_dev is false

Workaround: wrangler versions upload, then wrangler versions deploy, with the Wrangler config that Void's build writes (dist/ssr/wrangler.json for a void app, dist/server/wrangler.json for a framework app).

Related: #619 covers a Worker that has only a Custom Domain, behind Access, and #642 lets the readiness probe send Access credentials to that Custom Domain. #641 resolves the workers.dev URL after a first publish over a draft Worker. None covers a Worker with no URL.

Langage dominant
TypeScript
Étoiles
580
Forks
56
Merge moyen
12 h 10 min
PR mergées (30 j)
163

Préparer son environnement

Ce projet ne fournit ni conteneur de développement, ni Dockerfile, ni guide de contribution : l'installation est à votre charge. Commencez par son README, et consultez notre guide de la première contribution pour les étapes générales.

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de voidzero-dev/void

Toutes les issues de voidzero-dev/void

Issues similaires

Plus d'issues TypeScript

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.