> `pages-action` has been deprecated with the latest release being `v1.5.0`. We encourage you to migrate to [`wrangler-action`](https://github.com/cloudflare/wrangler-action), which supports Pages deployments and offers a unified tool for managing both Workers and Pages.
> Here are a few important things to keep in mind as you make the migration:
> - The YAML syntax for `wrangler-action` is different from `pages-action`. Please refer to the [Pages deployment setup instructions](https://github.com/cloudflare/wrangler-action?tab=readme-ov-file#deploy-your-pages-site-production--preview) for details.
> - `wrangler-action` currently does not provide the same outputs as `pages-action` for Pages project deployments. If your workflows depend on these outputs, you may need to make temporary adjustments. Rest assured, we’re working to bring these outputs to `wrangler-action` soon. You can track our progress in this [issue](https://github.com/cloudflare/wrangler-action/issues/300).
> - The "Deployment" feature available in `pages-action`, which lets you view a list of past deployments, is not yet available in `wrangler-action`, but we plan to add this in a future release of `wrangler-action`. You can track our progress in this [issue](https://github.com/cloudflare/wrangler-action/issues/301).
>
> We sincerely thank you for your support and contributions to `pages-action` over the years. The repository will remain open and archived. If you have any questions or issues please reach out to us on the [Cloudflare Developers Discord](https://discord.com/invite/cloudflaredev).
GitHub Action for creating Cloudflare Pages deployments, using the new [Direct Upload](https://developers.cloudflare.com/pages/platform/direct-upload/) feature and [Wrangler](https://developers.cloudflare.com/pages/platform/direct-upload/#wrangler-cli) integration.
## Usage
1. Create an API token in the Cloudflare dashboard with the "Cloudflare Pages — Edit" permission.
1. Add that API token as a secret to your GitHub repository, `CLOUDFLARE_API_TOKEN`.
1. Create a `.github/workflows/publish.yml` file in your repository:
To find your account ID, log in to the Cloudflare dashboard > select your zone in Account Home > find your account ID in Overview under **API** on the right-side menu. If you have not added a zone, add one by selecting **Add site** . You can purchase a domain from [Cloudflare’s registrar](https://developers.cloudflare.com/registrar/).
If you do not have a zone registered to your account, you can also get your account ID from the `pages.dev` URL. E.g: `https://dash.cloudflare.com/<ACCOUNT_ID>/pages`
More information can be found on [our guide for making Direct Upload deployments with continous integration](https://developers.cloudflare.com/pages/how-to/use-direct-upload-with-continuous-integration/#use-github-actions).
By default Wrangler will run in the root package directory. If your app lives in a monorepo and you want to run Wrangler from its directory, add `workingDirectory: YOUR_PACKAGE_DIRECTORY`.