cloudflare / workers-sdk

⛅️ Home to Wrangler, the CLI for Cloudflare Workers®
https://developers.cloudflare.com/workers/
Apache License 2.0
2.7k stars 709 forks source link

🐛 BUG: Build Requests `account_id` in Wrangler.toml but fails with `account_id` #6466

Open jjjrmy opened 3 months ago

jjjrmy commented 3 months ago

Which Cloudflare product(s) does this pertain to?

Workers Runtime

What version(s) of the tool(s) are you using?

3.70.0 [wrangler]

What version of Node are you using?

No response

What operating system and version are you using?

Cloudflare Dashboard

Describe the Bug

https://dash.cloudflare.com/ab7347813b21ea6079df4cb18c4bb9e8/pages/view/exchange-traded-fund/952e6991-3192-47dd-9121-12b7bbce5d01

00:30:22.332    ✘ [ERROR] More than one account available but unable to select one in non-interactive mode.
00:30:22.332    
00:30:22.332      Please set the appropriate `account_id` in your `wrangler.toml` file.
00:30:22.332      Available accounts are (`<name>`: `<account_id>`):

https://dash.cloudflare.com/ab7347813b21ea6079df4cb18c4bb9e8/pages/view/exchange-traded-fund/caf73d0b-3b79-4c19-9ce6-e83e33dac0f4

00:31:50.811    Found wrangler.toml file. Reading build configuration...
00:31:50.825    
00:31:50.930    ✘ [ERROR] Running configuration file validation for Pages:
00:31:50.930    
00:31:50.931        - Configuration file for Pages projects does not support "account_id"

Please provide a link to a minimal reproduction

No response

Please provide any relevant error logs

No response

petebacondarwin commented 2 months ago

I think this could be solved if the Pages build infrastructure simply provided the CLOUDFLARE_ACCOUNT_ID environment variable when running the Wrangler commands. I believe that the account is already known at this point and so could be made available. Allowing the wrangler.toml to specify the account_id could create potential for a source of truth conflict where the Pages infrastructure is running within one account but then Wrangler is trying to deploy to another account.

jjjrmy commented 2 months ago

@petebacondarwin it does fix it by adding the CLOUDFLARE_ACCOUNT_ID as an environment variable. I'm just following the directions as per the console error suggestions. And yes I think it should know already what account is in it.

petebacondarwin commented 2 months ago

Yeah the error message is the most unfortunate piece here but I do think that Pages CI can just do this for us and avoid the user having to do anything.