cloudflare / wrangler-action

🧙‍♀️ easily deploy cloudflare workers applications using wrangler and github actions
Apache License 2.0
1.26k stars 159 forks source link

uploading environment secrets doesn't work with pages deploy #304

Open qqpann opened 1 month ago

qqpann commented 1 month ago

https://github.com/cloudflare/wrangler-action/blob/cd8a317efbc7fab418e9bd7092c8643d88c03321/src/index.ts#L251

When the repository is pages directory, it needs to run

wrangler pages secret bulk

Otherwise it will run into the following error:

🔑 Uploading secrets...
  /opt/hostedtoolcache/node/18.20.4/x64/bin/npx wrangler secret:bulk

   ⛅️ wrangler 3.81.0
  -------------------

  ✘ [ERROR] It looks like you've run a Workers-specific command in a Pages project.

    For Pages, please run `wrangler pages secret bulk` instead.

  🪵  Logs were written to "/home/runner/.config/.wrangler/logs/wrangler-2024-10-20_12-06-13_693.log"
  Error: The process '/opt/hostedtoolcache/node/18.20.4/x64/bin/npx' failed with exit code 1
Error: Failed to upload secrets.
Error: 🚨 Action failed
ckhicks commented 1 month ago

This appears to be throwing errors on Worker deploys, too.

🔑 Uploading secrets...
  /usr/local/bin/npx wrangler secret:bulk
   ⛅️ wrangler 3.78.10 (update available 3.83.0)
  ----------------------------------------------
  ▲ [WARNING] `wrangler secret:bulk` is deprecated and will be removed in a future major version.
    Please use `wrangler secret bulk` instead, which accepts exactly the same arguments.
  🌀 Creating the secrets for the Worker "[redacted]" 
  Finished processing secrets JSON file:
  ✨ 0 secrets successfully uploaded
  ✘ [ERROR] 🚨 3 secrets failed to upload

Using: actions/checkout@v4 & cloudflare/wrangler-action@v3

nprogers commented 1 week ago

Does this issue persist if you update the deprecated command and use the latest wrangler version?

jahands commented 5 days ago

Looks like we may need to adjust behavior here to allow setting secrets for Pages, such as with a pages_secrets: field (or somehow detect if the project is a Pages project before uploading secrets.)

Until then, users can work around this by manually uploading secrets in the Cloudflare dashboard, or locally using wrangler secret put

ckhicks commented 5 days ago

Aye, that's generally how I've gotten around these with failing Workers deployments. Seems like these deprecated commands come through every now and then through normal usage of the Wrangler CLI so it's hard to know exactly when it breaks...until it does!