Trigger Vercel Deploy (Fix Vercel CI/CD Collaboration Issue for Free Tier Users)

Vercel has cut off collaboration CI/CD for free tier users. Here is a new and simple way to trigger deployment using GitHub Actions.

User Avatar

Faisal Husain

Trigger Vercel Deploy (Fix Vercel CI/CD Collaboration Issue for Free Tier Users) blog image

Remember my last blog where I talked about setting up GitHub Actions to build and deploy to Vercel? Well, as many of you found out (including me!), that trick stopped working. 😫

Vercel keeps tightening the screws on the free tier, but as "professional engineers," we always find a way! 😂

The Problem

Vercel disables auto-deployments when a collaborator (someone other than the owner) pushes to the repo. This is super annoying when you are working on a side project with a friend and don't want to shell out $20/month just for CI/CD.

The New Trick: The "Poke" Method 👈

Instead of trying to build the whole app in GitHub Actions (which is slow and hard to configure), we can just "poke" the repository.

The idea is simple:

  1. A collaborator pushes code to main.
  2. A GitHub Action runs on the push.
  3. This action commits a small dummy file (like .deploy-trigger) using a Personal Access Token (PAT) from the repository owner.
  4. Because the push came from the owner, Vercel happily triggers the deployment! 🚀

Implementing the Solution

First, you need a Personal Access Token (PAT) from the owner's GitHub account with repo permissions. Add this to your repo secrets as VERCEL_GITHUB_TOKEN.

Now, create .github/workflows/trigger-deploy.yml:

.github/workflows/trigger-deploy.yml
name: Trigger Vercel Deploy
 
on:
  push:
    branches: [ main ]
 
jobs:
  trigger-deploy:
    runs-on: ubuntu-latest
    permissions:
      contents: write
    steps:
      - name: Checkout code
        uses: actions/checkout@v4
 
      - name: Trigger Vercel Deploy
        run: |
          git config user.name "GitPost Bot"
          git config user.email "[EMAIL_ADDRESS]"
          echo "$(date)" > .deploy-trigger
          git add .deploy-trigger
          git commit -m "chore: trigger deploy [skip ci]"
          git push
        env:
          GITHUB_TOKEN: ${{ secrets.VERCEL_GITHUB_TOKEN }}

Why this works?

  • GitPost Bot: We use a bot name to keep the commit history clean.
  • .deploy-trigger: A small file that stores the date of the last trigger.
  • [skip ci]: We add this to the commit message so GitHub Actions doesn't go into an infinite loop (ironically, Vercel will still see the push and deploy it).

Step to get VERCEL_GITHUB_TOKEN:

  1. Go to your GitHub Settings > Developer settings > Personal access tokens > Tokens (classic).
  2. Generate a new token with repo scope.
  3. Copy it and go to your repository > Settings > Secrets and variables > Actions.
  4. Add a new repository secret named VERCEL_GITHUB_TOKEN.

And there you have it! 🎉 Now every time your collaborator pushes, this action will "poke" the repo as you, and Vercel will start the deployment. It's fast, free, and works like a charm. 😎🚀

Thank you bye bye 🙋‍♂️

HomeAboutProjectsBlogsHire MeCrafts