cloudflare / cloudflare/developer-platform

Deploy to Cloudflare button: source import silently fails — created repo has only README + wrangler config, worker stuck on Hello World placeholder

Aperta
#31 4 commenti 0 reazioni 0 assegnatari Vedi su GitHub
awaiting-response:cloudflare
Lingua principale
Nessun dato sulla lingua
Stelle
1
Fork
0
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

## What happened

Clicking a **Deploy to Cloudflare** button (`deploy.workers.cloudflare.com/?url=...`) completes with **no visible error**, but the deployment is broken:

- The newly created GitHub repo contains **only two files**: `README.md` and the wrangler config. All source is missing (`src/`, `package.json`, lockfile, everything else).
- The wrangler config's `name` field is rewritten to the new worker name, with all other content — including comments — preserved verbatim. So the repo was clearly **synthesized from the deploy page's parsed state**, not cloned from git.
- Commit fingerprint of the broken path: `Initial commit` (adds `README.md`) + `Uploading template.` (adds the wrangler config) — instead of the normal single **`source repo import`** commit that successful deploys produce.
- The worker is created but stays on the **"Hello World" placeholder** (deployments show `Source: Upload` at flow time). Since the repo has no source, any build would fail anyway.
- Secrets *are* provisioned (a `Secret Change` deployment appears seconds after creation).
- Workers Builds doesn't appear to be wired up either: later pushes to the created repo trigger **no builds and no check-runs** (commit status stays `pending` with zero contexts).
- The deploy UI reports **neither success nor failure** — it just returns to the deploy screen.

## Evidence this is a service-side intermittent failure (not repo content)

GitHub commit search shows two distinct outcomes happening **in parallel, same day**:

| Path | Commits | Created repo content |
|---|---|---|
| ✅ success | single `source repo import` | full source tree |
| ❌ fallback | `Initial commit` + `Uploading template.` | `README.md` + wrangler config only |

**Same source, different outcomes:**

- `chanfana-openapi-template` (**official Cloudflare template**): [chaunceyv2-byte/chanfana-openapi-template](https://github.com/chaunceyv2-byte/chanfana-openapi-template) imported the full source on 2026-07-04, while [walusimbikassim9-lab/chanfana-openapi-template](https://github.com/walusimbikassim9-lab/chanfana-openapi-template) got the 2-file fallback on 2026-07-03.
- `wloc-spoofer` (community repo): [xw-yin/wloc-spoofer](https://github.com/xw-yin/wloc-spoofer) succeeded and [qqqqqqqqqqqq23131/wloc-spoofer](https://github.com/qqqqqqqqqqqq23131/wloc-spoofer) got 2 files — **same day**.

**Ruled out** (each disproven by at least one observed case):

- monorepo subdirectory URLs — a fully self-contained standalone repo fails too
- `wrangler.toml` vs `wrangler.jsonc` — plenty of `.jsonc` victims, including the official template above
- private repos — all repos involved are public
- missing template metadata (`.gitignore`, `cloudflare` key in `package.json`, `.dev.vars.example`) — official templates have all of these and still hit the fallback

**Scale:** a commit search for `"Uploading template."` surfaces **dozens of affected repos in 2026-07-03 → 07-05 alone**. Failures also look sticky per user/session: one user hit it 3× in one day (`peterniss/proxycontroller`, `...02`, `...03`), and I hit it twice in one day with two different source repos.

## My repro (account `a6f98d533d0a0c22b3fdaded5cd8b8b2`)

1. **2026-07-04 ~19:02 UTC** — `?url=https://github.com/Javis603/token-monitor/tree/main/worker` (public monorepo subdir) → repo `freefrank/token-monitor-hub` created with 2 files, worker `token-monitor-hub` left on the Hello World placeholder.
2. **2026-07-04 ~19:53 UTC** — `?url=https://github.com/freefrank/token-monitor-hub` (standalone, fully self-contained, public — I had pushed the full source into it by then) → repo `token-monitor-hub-test` created, **again with only 2 files**.

(I've since recovered manually: pushed the source and ran `wrangler deploy` — the worker itself runs fine, so the source is not the problem. The `-test` worker has been deleted.)

## Expected behavior

Either the created repo contains the full source (`source repo import`), or the flow **surfaces an error** instead of silently committing a placeholder template and leaving a Hello World worker that looks deployed.

## Ask

1. Fix / add retries to the source-import step of the deploy flow.
2. Surface import failures in the deploy UI — the silent fallback makes users debug their own repos for hours when nothing is wrong with them.

Guida per i contributori

Apri la guida per i contributori

Direzione di ricerca

Parti dal flusso di importazione del codice sorgente di deploy.workers.cloudflare.com e confronta il percorso riuscito di “source repo import” con i commit di fallback che aggiungono solo README.md e la configurazione di wrangler. Riproduci il problema con un repository pubblico, quindi verifica che gli errori di importazione vengano ritentati o mostrati nella deploy UI invece di creare un Worker che contiene solo un segnaposto.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
github
Ambito
cloud, devops
Tipo di issue
Bug
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Tranquilla
Chiarezza
Abbastanza chiara
Idoneità per principianti
45/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.