Faster builds for active branches

For every Git push from a connected GitHub organization, Vercel for GitHub automatically runs a build and deployment — what we refer to as a job. Jobs are queued per branch, and while multiple jobs may be waiting, Vercel always selects the most recent one to build. The deployment URL returned to you therefore always corresponds to the latest commit.

This queueing model can become a bottleneck when a branch receives frequent pushes, especially for larger projects with longer build times. Each queued job would have to finish before the newest commit could be built, delaying access to its deployment preview.

Auto Job Cancellation

To address this, Vercel now prioritizes the most recent commit by canceling an in-progress job when a newer job is enqueued from a more recent push on the same branch. The canceled job is replaced immediately by a build for the latest commit. This ensures that the deployment URL is always available for the latest changes without waiting for stale job runs to complete.

This behavior applies across Git branches and pull requests.

Auto canceled job on the `master` Git Branch.

Auto canceled job on the master Git branch.

Auto canceled job on a Pull Request.

Auto canceled job on a pull request.

Opting out of auto cancellation

While we consider auto job cancellation to be a sensible default that saves both time and compute costs, it may not suit every workflow. If you need each push to be built sequentially, you can disable this behavior via the vercel.json configuration file.

{

"github": {

"autoJobCancelation": false

}

}

Setting expectations

This change is part of Vercel's overall effort to minimize the time between a push and its deployment. If you have questions or feedback, we encourage you to contact us.