name: "Deploy to Cloudflare Workers with Wrangler" branding: icon: "upload-cloud" color: "orange" description: "Deploy your Cloudflare projects from GitHub using Wrangler" runs: # Possible values: https://github.com/actions/runner/blob/main/src/Runner.Common/Util/NodeUtil.cs#L9 using: "node20" main: "dist/index.mjs" inputs: apiToken: description: "Your Cloudflare API Token" required: false accountId: description: "Your Cloudflare Account ID" required: false quiet: description: "Supresses output from Wrangler commands, defaults to `false`" required: false default: "false" environment: description: "The environment you'd like to deploy your Workers project to - must be defined in wrangler.toml" workingDirectory: description: "The relative path which Wrangler commands should be run from" required: false wranglerVersion: description: "The version of Wrangler you'd like to use to deploy your Workers project" required: false secrets: description: "A string of environment variable names, separated by newlines. These will be bound to your Worker as Secrets and must match the names of environment variables declared in `env` of this workflow." required: false preCommands: description: "Commands to execute before deploying the Workers project" required: false postCommands: description: "Commands to execute after deploying the Workers project" required: false command: description: 'The Wrangler command (along with any arguments) you wish to run. Multiple Wrangler commands can be run by separating each command with a newline. Defaults to `"deploy"`.' required: false vars: description: "A string of environment variable names, separated by newlines. These will be bound to your Worker using the values of matching environment variables declared in `env` of this workflow." required: false packageManager: description: "The package manager you'd like to use to install and run wrangler. If not specified, the preferred package manager will be inferred based on the presence of a lockfile or fallback to using npm if no lockfile is found. Valid values are `npm` | `pnpm` | `yarn` | `bun`." required: false gitHubToken: description: "GitHub Token" required: false outputs: command-output: description: "The output of the Wrangler command (comes from stdout)" command-stderr: description: "The error output of the Wrangler command (comes from stderr)" deployment-url: description: "If the command was a Workers or Pages deployment, this will be the URL of the deployment" pages-deployment-alias-url: description: "If the command was a Pages deployment, this will be the URL of the deployment alias (if it exists) - needs wrangler >= 3.78.0" pages-deployment-id: description: "If the command was a Pages deployment, this will be the ID of the deployment - needs wrangler >= 3.81.0" pages-environment: description: "If the command was a Pages deployment, this will be the environment of the deployment - needs wrangler >= 3.81.0"