CI/CD Concepts
The fundamentals behind reliable pipelines.
Understand the building blocks of CI/CD: runners, exit codes and signals, caching, artifacts, concurrency, secrets, and pipeline reliability. Background knowledge that makes debugging faster.
Runners & compute
How CI runners work and where cost comes from.
Cold vs warm startA cold start provisions a fresh runner before a job begins; a warm start reuses a ready one.
Self-hosted vs hosted costGitHub-hosted runners bill per minute; self-hosted runners shift cost to compute and ops.
CI minutes & billingCI minutes measure how long your jobs run, and most providers bill by them with rounding and machine
Runner image / AMIA runner image is the prebuilt disk template a CI runner boots from, with the OS and tools already installed.
What is a CI runner?A CI runner is the machine that executes your pipeline jobs. Learn how runners work, the difference between
What is ephemeral CI?Ephemeral CI means each job runs on a fresh, single-use environment that is destroyed afterward.
Caching & artifacts
Speeding up pipelines reliably.
Cache key vs restore keyA cache key is the exact entry to save and look up; restore keys are prefix fallbacks for a near-miss.
CI caching explainedHow CI caching works, what to cache (dependencies, build outputs, Docker layers), how cache keys and restore
Dependency cachingRe-downloading dependencies every run is wasted time. Learn what to cache, how to key it on a lockfile, and
Docker layer cachingDocker builds images in cached layers, reusing unchanged ones to skip work.
What is a lockfile?A lockfile pins the exact versions of every dependency so builds are reproducible.
Artifact retentionArtifact retention controls how long CI keeps build outputs, logs, and reports before deleting them.
Reliability
Flaky tests, retries, and pipeline health.
CI vs delivery vs deploymentContinuous integration, delivery, and deployment are three different things.
Fail-fast vs continueFail-fast stops the pipeline at the first failure; continue-on-error lets it press on.
Flaky tests in CIWhat makes tests flaky, how to detect flakiness, and how to contain it with quarantines and bounded retries
Quarantining flaky testsQuarantining moves known-flaky tests out of the blocking path so they stop failing builds, while keeping them
Pipeline observabilityPipeline observability is the ability to answer why a build failed, slowed, or flaked from data you already
Retries & idempotencyRetrying a failed step only helps if the step is idempotent - safe to run twice.
What is a build matrix?A build matrix runs the same job across many combinations - OS, language version, dependency set.
What is a workflow?A GitHub Actions workflow is a YAML file that defines when and how your CI runs.
What is CI/CD?CI/CD is the practice of automatically building, testing, and shipping code on every change.
Fan-out / fan-inFan-out splits work into many parallel jobs; fan-in collects their results into one.
Explore other topics
GitHub ActionsWorkflow, runner, and YAML errors - diagnosed and fixed.
Node.js & npmnpm, yarn, and pnpm failures in CI - solved.
DockerBuild, run, compose, and registry errors - explained.
Pythonpip, poetry, venv, and pytest failures - fixed.
Java & JVMMaven, Gradle, and JVM failures in CI - resolved.
GoGo build, module, and test failures - diagnosed.