Same checks, every time

Think of it when a check matters enough that skipping it once would hurt.

In everyday life

Like the security scanner at an airport gate: every passenger walks through it, in a hurry or not. A sign that says “no liquids, please” depends on each person reading it.

One case

A team of 5 agrees to run the tests on their laptops before each merge. In one week they merge 10 changes and skip the tests on 3: “a small fix”, “only docs”, “in a hurry”. The rushed one breaks the login, and three developers lose an afternoon finding which change did it.

The tests were skipped on 3 of 10 changes
The case, cell by cell1 cell = 1 change
Tests should run
yesyesyesyesyesyesyesyesyesyes
Tests did run
yesyesnoyesyesnoyesnoyesyes
Changes merged untested
3
Changes a CI server skips
0
Change #8 was the rushed one. It broke the login.

Every case

Checks that depend on memory get skipped when people are busy, and that is when mistakes happen most. A CI server runs the same checks on every change. Set each run to start clean and apart from other runs, because a server can reuse machines and leftover files unless told not to. A clean run also catches “it works on my laptop”. Then set the main branch so a change cannot merge until every check is greenPassing. A check that passes is shown green; a check that fails is shown red.. The rule now holds for people and agents alike, with no reminder, unless someone with admin rights overrides it. The full name is continuous integrationA server that builds and tests every change as soon as it is pushed. Engineers write it CI..

The word

Engineers call this

CIA server that runs the same checks, such as the build, the tests and the type check, on every change before it can join the main code. Once set up, it does not forget and does not skip a step.

Turn every check that matters into one that runs by itself on every change. Block the merge until it passes.

Where this idea leads

Skills that encode it

  • full-send tstackThe merge gate: required checks are green on the latest commit. Merge through branch protection; never use --admin or other bypasses.
  • correct pstackIf bad code still compiles, add a lint or CI check, and run the same command locally and in CI.
  • babysit-pr tstackFix real CI failures, and tell a repository failure apart from an infrastructure flake before you act.