Free forever: 5 resume reviews + 10 AI actions every month. Claim your free spot →
ReachRole

DevOps project

Build a CI pipeline that actually fails on a broken PR

A GitHub Actions pipeline for lint, test, and build — proven by intentionally breaking a test and watching the pipeline correctly go red.

6-9 hoursEstimated time
IntermediateDifficulty
5Graded criteria
RepoWhat you submit

The brief

Set up a GitHub Actions pipeline for a repository: lint and run tests on every pull request, build a Docker image on merge to main, and cache dependencies so runs are fast. Document the branch protection rule that makes this check required (it can't be exported as a file, so screenshot or describe the setting). Then break a test on purpose in a PR and confirm the pipeline correctly fails.

Suggested stack

GitHub Actions Docker

What you hand in

  • A public GitHub repository with the workflow file(s) and a README
  • A link to (or screenshot of) a PR where the pipeline correctly failed on a broken test
  • The README documents the branch protection setting and dependency caching approach

Grading happens against the rubric below, so read it before you start — not after.

How this is graded

Published in advance and weighted out of 100. Nothing here is a surprise.

Pipeline correctness 30 pts

The pipeline genuinely fails when lint or tests fail — proven with a real broken-test PR, not just described as working.

Caching and speed 20 pts

Dependencies are cached between runs (e.g. actions/cache or built-in package manager caching), and a re-run is measurably faster than a cold run.

Build stage produces a working image 25 pts

The Docker image built on merge to main actually runs correctly when pulled and started.

Branch protection documentation 15 pts

The required-check setting is clearly documented (screenshot or precise steps) since it lives in repo settings, not in a file.

Finish 10 pts

No console errors or crashes, no broken layout, no leftover placeholder text or commented-out code.

Why this project is worth your weekend

  • CI is the daily-driver tool of both DevOps and backend work, and most candidates have only ever copy-pasted a workflow file without verifying it actually catches failures.
  • A pipeline that reports green even when a test fails is worse than no pipeline, because it creates false confidence — this project is specifically designed to prove it doesn't.
  • Caching discipline is a small decision with a large, checkable effect on how fast a team's feedback loop is.

Where people lose points

  • A workflow that reports success even when the test command actually failed, because its exit code isn't checked or is swallowed by a later step.
  • No dependency caching, so every run reinstalls everything from scratch and takes minutes longer than it needs to.
  • Secrets or API tokens hardcoded directly into the workflow YAML instead of stored as GitHub Actions secrets.

Other DevOps projects

Two or three of these turn an empty resume into a portfolio.

Back to the roadmap

Built it? Get it scored against this rubric.

Submit your work and get a score on every criterion above, written feedback, and three resume bullets you can use straight away.

Submit for grading Free to start. Grading uses one AI action.