void deploy cannot deploy a Worker with no URL after its first deploy, and --atomic refuses it
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 whenworkers_devis true, so the subdomain changes nothing here. --atomicpublishes 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,
--atomicfor any Worker, or a readiness check that does not need a URL - an error that does not suggest
CLOUDFLARE_WORKERS_SUBDOMAINwhenworkers_devis 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
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de voidzero-dev/void
-
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
voidzero-dev/void#645 ·
Les mainteneurs répondent en général sous 1 jour
-
React: `action()` and `router.visit()` never resolve when awaited in a transitionPeut-être pris @cpojer l’a pris aujourd’hui. Ouverte
voidzero-dev/void#643 · 1 personne assignée ·
Les mainteneurs répondent en général sous 1 jour
-
Static output always writes `foo.html`, so trailing-slash URLs 404 on hosts like GitHub PagesOuverte
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 42/100
voidzero-dev/void#638 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 3/5 1-2 jours Accessibilité débutants 57/100
voidzero-dev/void#636 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 3/5 1-2 jours Accessibilité débutants 67/100
voidzero-dev/void#635 ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de voidzero-dev/void
Issues similaires
-
area:cli bug P4
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
Les mainteneurs répondent en général sous 1 jour
-
bug from-studio
Difficulté 2/5 1-3 heures Accessibilité débutants 65/100
esengine/DeepSeek-Reasonix#14868 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
linxiv-dev/linXiv#384 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
factory-active task-identify-harness-labels-done task-identify-issue-type-done
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
vercel/ai#24302 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour