CI/CD Pipelines for Small Dev Teams: A Simple Setup

Small teams don't need elaborate pipelines. Here's a simple GitHub Actions setup that runs tests, type checks, and deploys safely.

Richard GamoraRichard GamoraFullstack developer·4 min read
CI/CDDevOpsGitHub Actions

Small teams do not need elaborate CI/CD pipelines — they need a simple, reliable one that runs the right checks and deploys safely. After setting these up across many projects, here is the boring, working version.

What runs on every PR

  • Linter (ESLint, Pint, whichever).
  • Type checker (tsc --noEmit for TypeScript projects).
  • Unit and integration tests.
  • Build verification (does the production build succeed).

These four catch most bugs and run in a few minutes. Anything slower (E2E, security scans) belongs on a separate workflow that runs on the main branch or nightly.

Parallelize, cache, fail fast

Run the four jobs in parallel rather than sequentially. Cache node_modules, vendor directories, and any other heavy dependencies. Set fail-fast: true so a single failure cancels the rest of the matrix and the team gets the result faster.

Branch protection that matches

In your repository settings, make those four checks required to merge. This is the actual enforcement — without it, the pipeline is informational and broken builds reach main.

Deploy on merge, not on every PR

Production deploys should happen when a PR merges to main, not on every push. Preview deploys (Vercel, Netlify, similar) on every PR are great for review — but they are not production. Keep the production path narrow and gated.

What I avoid

Custom Docker images, complex matrix configurations, and mandatory code coverage thresholds — for small teams, these add maintenance overhead without much benefit. Start simple and add complexity only when you can name the problem it solves.

About the author

Richard Gamora

Richard Gamora

Fullstack developer based in the Philippines, working mostly with Laravel and Vue.js, with eight years of production experience across web and mobile.

me@richardgamora.comUpwork ↗

More on Testing & Tools