Handling GitHub Action Status When Vercel Ignores a Deployment

Hi!

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:

  1. Does Vercel send any event to GitHub when a deployment is ignored?
  2. Any recommendations on how to handle this scenario?

Thanks in advance for any insights!

2 Likes

Hey @ludwighogstrom,

If I understand you correctly, you’re trying to run E2E tests on everything, then workflow_run/workflow_call might work better for your case. That way you can always trigger the test. You can see examples of both in this StackOverflow thread: Github Actions - trigger another action after one action is completed - Stack Overflow

From the GitHub Actions events documentation:

When a deployment status’s state is set to inactive , a workflow run will not be triggered.

Hi Amy,

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:

  1. A commit is pushed.
  2. GitHub resets all status checks in the PR.
  3. Vercel builds and deploys our app (connected via Git).
  4. Vercel notifies GitHub once the deployment is complete.
  5. A GitHub Action, triggered by the deployment_status event, starts our E2E tests (this event includes the Vercel deployment URL).
  6. If the tests pass, the status check is set to “success”.
  7. 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.

How likely will I receive an answer here? Should I try my luck on the Next.js GitHub instead?

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.