C.W.K.
Stream
Lesson 01 of 12 · published

What CI Is

~15 min · ci, definition, feedback

Level 0Apprentice
0 XP0/101 lessons0/10 achievements
0/120 XP to next level120 XP to go0% complete

Integration that never stops

Continuous Integration means every change is merged into a shared main branch frequently — usually multiple times per day per developer — and every merge triggers an automated build, test, and lint sequence. The word that matters is continuous. Not nightly. Not weekly. Every push, every PR, every commit.

The principle is older than the tool. Grady Booch coined the phrase in 1991. The idea behind it is even older: if you let unmerged work pile up, the eventual merge becomes a small archaeology project. CI inverts the cost — you pay a tiny price every push, instead of one giant price at release time.

What an automated CI run actually does

  1. Checkout — pull the exact commit being tested.
  2. Set up runtime — Python, Node, JDK, whatever the project needs, at a pinned version.
  3. Install dependencies — usually with a cache so the second run is fast.
  4. Lint, type-check, format-check — fast static gates.
  5. Test — unit, integration, sometimes end-to-end.
  6. Report — green or red, with logs and artifacts.

The output is a single bit per commit: this change is safe to merge or this change is broken. Everything else (logs, artifacts, coverage reports) is decoration around that bit.

Code

The smallest useful CI workflow·yaml
# .github/workflows/ci.yml
name: ci
on:
  pull_request:
  push:
    branches: [main]

jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-python@v5
        with:
          python-version: '3.12'
      - name: Install
        run: pip install -r requirements.txt
      - name: Lint
        run: ruff check .
      - name: Test
        run: pytest -q

External links

Exercise

Open a repo you actually use. Count: how many days since the last commit on main? How long do CI runs take on a fresh PR (or how long would they take if you had any)? Write down both numbers. If the first is large or the second is missing, you do not have CI.

Progress

Progress is local-only — sign in to sync across devices.
Spotted a bug or have feedback on this page?Report an Issue

Comments 0

🔔 Reply notifications (sign in)
Sign inPlease sign in to comment.

No comments yet — be the first.