Build Logs21 October 20268 min read

A Green Build Must Mean the Checks Ran

A passing pipeline that skipped the tests is not a pass. Make the required checks fail the build, and make a skipped check visible.

NaveenInfrastructure Engineer
FIGURE 1.0
EDITORIAL REFERENCE
A team reviewing work together
CONTEXT:A team reviewing work together
REFERENCE:Annie Spratt
ON THIS PAGE (7 SECTIONS)
EXECUTIVE BRIEFING · KEY TAKEAWAYS
  • ✓Continuous delivery depends on a pipeline that is the path to production, not a report people can ignore.
  • ✓A job that exits zero when a tool is missing is fail-open. Install the tool in the pipeline and fail if it is absent.
  • ✓Required checks on the branch should match the checks you claim to trust.
  • ✓AI-generated changes use the same gate. A model does not get a bypass.

The pipeline is green. The test job says "no tests found" and exits zero, because the test project was renamed and the script still looks for the old path. The branch protection requires the pipeline. It does not require that a test ran. The merge is allowed. The phrase "CI passed" is now false in the only sense that matters.

Jez Humble’s description of continuous delivery treats the deployment pipeline as the mechanism that proves a change is releasable, every time, from version control. That proof is only as strict as the jobs. A job that swallows a missing tool, a job marked optional, or a status check that is not required, is a way around the proof. Fail closed: if the check cannot run, the build fails.

What a required check has to guarantee

  • The commands ran. A count of zero tests is a failure if the repository is supposed to contain tests.
  • The tools exist in the pipeline image. A linter that is not installed must not be reported as clean.
  • The same commands a reviewer would trust locally are the ones in the pipeline, or the pipeline is stricter.
  • Branch protection lists those jobs. A green job that is not required does not gate the merge.
  • Flaky failures are fixed or quarantined explicitly. Ignoring a red job by rerunning until it is green hides the flake.
  • Secrets for the pipeline are not printed in the log when a command fails.

Generated code does not change the rule. AI Code Review Gates adds human review where judgment matters. The pipeline still has to run. A bypass for "small" generated edits is how an untested change becomes the exception that is always used.

Illustrative scenario

This scenario is illustrative. The pipeline installs dependencies, runs the test command, and fails if the test runner reports zero tests or a non-zero exit. A lint job fails if the binary is missing. Branch protection requires both jobs. A pull request cannot merge on a pipeline that was skipped by a label. When a test is quarantined, the quarantine is a named list in the repo with an owner, not a click in the UI that only one person remembers. The next red build is a stop, not a suggestion.

Checklist

  • Fail the build when tests do not run.
  • Fail the build when a required tool is absent.
  • Require those jobs on the protected branch.
  • Keep the pipeline definition in the repo, reviewed like code.
  • Quarantine flakes explicitly and with an expiry.
  • Do not grant a bypass for urgency. Urgency is when a skip hurts most.

Questions that usually come next

Should every repository block merges on day one?

Block on the checks you have. A repository with no tests should fail a job that claims to run tests, and it should add a small set that covers the path you fear breaking. An optional pipeline teaches people to ignore it.

Are manual test passes a substitute?

A person can check what automation cannot see yet. That pass should be recorded. It should not replace a compile and a test run that a script can do every time. If the manual step is the only step, the green build is a mood.

Direct answers

Should merges be blocked immediately?

Block on the checks that exist, and make a missing test run a failure. An optional pipeline becomes a pipeline people skip.

Can manual testing replace the pipeline?

Manual checks cover what automation cannot. They do not replace a scripted build and test. Record them. Do not treat a click as the only gate.

ACADEMIC & INDUSTRY CITATIONS

References & Prior Art

REF 01Engineering practice

Continuous Delivery

Jez Humble and David Farley • continuousdelivery.com (2010)

Source
VERIFIED CONTRIBUTOR

Naveen

Infrastructure Engineer

Naveen handles infrastructure, edge network resilience, chunked media pipelines, and deterministic CI/CD release verification at Vasiva.

CURATED ARCHIVE

Continue Reading

Contextually relevant engineering logs and production architecture notes.

SYSTEM ADVISORY

Have an AI workflow or complex system worth exploring?

Work directly with the senior engineers who designed and shipped these systems. Zero vendor lock-in, deterministic architectures, and first-party audit integrity.

Evaluate the opportunity