Interview CI/CD & GitOps

How do you only build/test the changed parts of a monorepo?

CI/CD & GitOps · Advanced level

Answer

In a monorepo, I build and test only changed parts by calculating the diff against the base branch, mapping paths to services or packages, and running affected builds plus dependency-impact checks. Tools like Bazel, Nx, Turborepo, Gradle, or custom path filters can help.

Technical explanation

Affected-build logic needs a dependency graph, not only file path matching, because shared libraries can impact many services.

Owners, path filters, and cache strategy become critical as repository size grows.

Git history is both collaboration state and audit evidence, so choose merge, rebase, revert, and reset based on whether history is shared.

Short-lived branches reduce merge conflicts and make CI feedback meaningful; long-lived branches increase drift and integration risk.

Tags, release branches, signed commits, and changelogs connect source history to released artifacts and operational traceability.

Prefer safe, reviewable operations on shared branches: revert bad changes, open PRs for backports, and avoid force-pushes unless the team explicitly coordinates them.

Hands-on example

1. Practice the Git operation for: How do you only build/test the changed parts of a monorepo in a throwaway repository with main, feature, release, and hotfix branches.

2. Add service folders such as services/api and services/worker plus a shared lib; use git diff --name-only origin/main...HEAD to map changed paths to affected builds.

3. Inspect the result with git log --oneline --graph --decorate --all and verify whether history was preserved, replayed, tagged, or safely undone.

4. Push through a pull request with required CI checks, run tests after conflict resolution or cherry-pick, and document why that operation was chosen.

5. For release scenarios, build from a signed tag, publish the artifact with the commit SHA and version, and confirm the release notes match the merged changes.

Preparing for an interview?

Check how well your resume matches the role with our free resume checker— match score, ATS check, and the skills you're missing.

More CI/CD & GitOps interview questions

← All CI/CD & GitOps questions