Docs
Deploy check (GitHub)

Deploy check

After every deploy, PageCanary's AI agent walks your site's main flow (signup, booking, checkout or contact form) in a real browser, the way a customer would, and the check fails if the flow is broken. You get the steps it took and a recording of the run in the job summary.

The walk is the same as everywhere else in PageCanary: it never sends a form, creates an account, books or pays. It stops at the last step.

Set it up

  1. Make an API key on API and integrations and add it to your repository's secrets as PAGECANARY_API_KEY.
  2. Add this workflow. It runs when Vercel (or anything else that reports deployments to GitHub) finishes a deployment:
# .github/workflows/pagecanary.yml
name: PageCanary deploy check
on: deployment_status
jobs:
  walk:
    if: github.event.deployment_status.state == 'success'
    runs-on: ubuntu-latest
    steps:
      - uses: pagecanary/deploy-check@v1
        with:
          api-key: ${{ secrets.PAGECANARY_API_KEY }}
          vercel-bypass-secret: ${{ secrets.VERCEL_AUTOMATION_BYPASS_SECRET }}

Protected Vercel previews

If your previews sit behind Vercel's deployment protection, turn on Protection Bypass for Automation in your Vercel project settings and add the secret to your repository as VERCEL_AUTOMATION_BYPASS_SECRET. PageCanary sends it only to your deployment's own address, never to anything else the page loads, and never stores it.

Not on Vercel

Set url to the deployed address and run the step after your deploy:

      - uses: pagecanary/deploy-check@v1
        with:
          api-key: ${{ secrets.PAGECANARY_API_KEY }}
          url: https://staging.example.com

Inputs and outputs

InputDefaultWhat it does
api-key(required)Your PageCanary API key
urlthe deployment's URLThe site to walk
vercel-bypass-secretnoneFor protected Vercel previews
fail-onfailedfailed fails the step when the flow is broken; never only reports
timeout-minutes6How long to wait for the walk

Outputs: result (passed, failed, cant-test, planned, or error when the check couldn't run), headline, recording-url and walk-id.

If PageCanary itself can't run the check, the step warns and passes: our problem never blocks your deploy. During the beta each account can start 10 walks a day, across all its keys, so a deploy over the limit gets a warning rather than a check.