Skip to content

WalshyDev/cf-pages-await

Use this GitHub action with your project
Add this Action to an existing workflow or create a new one
View on Marketplace

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CF Pages Await

Wait for a Cloudflare Pages build to finish so you can do actions like purge cache, update Workers, etc.

Usage

- name: Await CF Pages
  uses: WalshyDev/cf-pages-await@v1
  with:
    accountEmail: ${{ secrets.CF_ACCOUNT_EMAIL  }}
    apiKey: ${{ secrets.CF_API_KEY  }}
    accountId: '4e599df4216133509abaac54b109a647'
    project: 'example-pages-project'
    # Add this if you want GitHub Deployments (see below)
    githubToken: ${{ secrets.GITHUB_TOKEN }}
    # Add this if you want to wait for a deployment triggered by a specfied commit
    commitHash: ${{ steps.push-changes.outputs.commit-hash }}

Example

name: Deploy
on: push
jobs:
  build:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v2
    - name: Wait for CF Pages
      id: cf-pages
      uses: WalshyDev/cf-pages-await@v1
      with:
        accountEmail: ${{ secrets.CF_ACCOUNT_EMAIL  }}
        apiKey: ${{ secrets.CF_API_KEY  }}
        accountId: '4e599df4216133509abaac54b109a647'
        project: 'test'
        # Add this if you want GitHub Deployments (see below)
        githubToken: ${{ secrets.GITHUB_TOKEN }}
    - run: |
        curl -X \
          -H "X-Auth-Email: ${{ secrets.CF_ACCOUNT_EMAIL }}" \
          -H "X-Auth-Key: ${{ secrets.CF_API_KEY }}" \
          -H "Content-Type: application/json" \
          --data '{"purge_everything":true}' \
          https://api.cloudflare.com/client/v4/zones/8d0c8239f88f98a8cb82ec7bb29b8556/purge_cache

Outputs

  • id - Deployment ID, example: 50ff553c-da5d-4846-8188-25ae82a3bb7d
  • environment - Envrionment for this deployment, either production or preview
  • url - URL for this deployment
  • alias - Alias URL (Will be the branch URL such as fix-issue.project.pages.dev or be the deployment URL)
  • success - If the deployment was successful

GitHub Deployments

GitHub Deployments will show if the deployment was successful or failed right inside GitHub! You can easily see the status, view the website (exact deployment) and see the logs.

Note: You need to add the githubToken input in order for deployments to work!

Overview

Successful production deployment

Pull Requests

In Progress In progress deployment in PR

Successful Successful deployment in PR