A green merge still broke production on Tuesday
Type errors slipped through because the team ignored a flaky integration stage. The fix was small. The pipeline had trained us to skip red builds.
Several merges a week
We shipped several times a week. The pipeline ran everything in one long job.
Red builds got ignored
Slow feedback meant developers merged and hoped. The fastest useful signal was buried at minute twelve.
Fast check first
Put the fastest check first: lint and typecheck before integration.
Split stages by purpose. Treat flaky jobs as product bugs.
Minimal workflow
jobs:
fast-check:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: npm ci
- run: npm run lint && npm run typecheckCI should build trust
CI should build trust, not fatigue. One honest fast stage beats a long pipeline everyone ignores.