We are running E2E/Cypress tests on preview deployments at Vercel. These tests are triggered via GitHub Actions based on the "deployment_status" event.
We want to enable Vercel’s “Ignored Build Step” setting (Only build Turborepo app if there are changes) to optimize our deployments. However, when this setting is enabled, the "deployment_status" event in GitHub Actions is never triggered—likely because no actual deployment occurs.
The problem:
The GitHub Action status is required for merging PRs.
The status resets on every push.
The action doesn’t run when the deployment is ignored.
Questions:
Does Vercel send any event to GitHub when a deployment is ignored?
Any recommendations on how to handle this scenario?
Thank you for your response! I’ve looked into your suggestions, but I’m not sure they fully address the problem.
We are running E2E tests against Vercel preview URLs, so we need to wait for the deployment to be ready before the tests can start.
Here’s our current workflow:
A commit is pushed.
GitHub resets all status checks in the PR.
Vercel builds and deploys our app (connected via Git).
Vercel notifies GitHub once the deployment is complete.
A GitHub Action, triggered by the deployment_status event, starts our E2E tests (this event includes the Vercel deployment URL).
If the tests pass, the status check is set to “success”.
If the status check is “success”, the PR can be merged (this is enforced via a branch protection rule).
The issue arises when a deployment is skipped on Vercel—we get stuck at step 2.
Does Vercel notify GitHub in any way when a deployment is skipped?
One workaround could be setting a timeout and assuming the deployment was skipped, allowing us to manually set the status check to “success” so the PR can be merged. However, this approach feels fragile, as deployments sometimes take longer due to queueing.