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
- Make an API key on API and integrations and add it to your repository's secrets as
PAGECANARY_API_KEY. - 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.comInputs and outputs
| Input | Default | What it does |
|---|---|---|
api-key | (required) | Your PageCanary API key |
url | the deployment's URL | The site to walk |
vercel-bypass-secret | none | For protected Vercel previews |
fail-on | failed | failed fails the step when the flow is broken; never only reports |
timeout-minutes | 6 | How 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.