← Explore learning paths

For developers

Hermetic Builds

Understand reproducible builds, explicit inputs, and the hidden dependencies that make CI results unreliable.

18 lessons ready to readFree to readLearn at your own pace
Read the first lesson → My progress in this path →
01 / READ

Start with a lesson that meets you where you are.

02 / PRACTICE

Try questions to check what you understand.

03 / RETURN

Sign in to keep your practice progress together.

Your learning path

18 of 48 topics have lessons available today. Choose any available lesson.

  1. 01

    Fundamentals of Hermetic Builds

    Read the lesson, then try the practice.

  2. 02

    What is Hermeticity?

    Read the lesson, then try the practice.

  3. 03

    The 'Works on My Machine' Problem

    Read the lesson, then try the practice.

  4. 04

    Common Non-Hermetic Patterns

    Read the lesson, then try the practice.

  5. 05

    Inputs, Outputs, and Dependencies

    Read the lesson, then try the practice.

  6. 06

    Reproducibility vs Determinism

    Read the lesson, then try the practice.

  7. 07

    Determinism in Build Systems

    Read the lesson, then try the practice.

  8. 08

    Hermetic Build Tools Ecosystem

    Read the lesson, then try the practice.

  9. 09

    Bazel Mental Model

    Read the lesson, then try the practice.

  10. 10

    BUILD Files and Targets

    Read the lesson, then try the practice.

  11. 11

    Sandboxed Execution

    Read the lesson, then try the practice.

  12. 12

    Nix Mental Model

    Read the lesson, then try the practice.

  13. 13

    Derivations and Nix Store

    Read the lesson, then try the practice.

  14. 14

    Nix Language Basics

    Read the lesson, then try the practice.

  15. 15

    When to Choose Nix vs Bazel

    Read the lesson, then try the practice.

  16. 16

    Hermetic Builds in Production

    Read the lesson, then try the practice.

  17. 17

    Hermetic CI/CD Pipelines

    Read the lesson, then try the practice.

  18. 18

    Why Docker Alone Isn't Hermetic

    Read the lesson, then try the practice.

Topics without lessons yet

These are part of the outline. Lessons are not available for them yet.

  • Definition and Core Concept
  • Benefits and Trade-offs
  • Network Dependencies
  • Timestamp and Clock Dependencies
  • Global System State
  • Undeclared File System Dependencies
  • Declaring All Inputs
  • Source Files and Dependencies
  • Build Tools and Compilers
  • Pinning Dependencies
  • Content-Addressable Storage
  • Hash Functions and Integrity
  • Build Cache Mechanics
  • What is Reproducibility?
  • Bit-for-Bit Reproducibility
  • Security Implications
  • Non-Deterministic Sources
  • Fixing Non-Determinism
  • Remote Build Execution
  • Containerized Build Environments
  • Caching Strategies in CI
  • Docker's Hidden Dependencies
  • Making Docker Builds Hermetic
  • Advanced Hermetic Patterns
  • Handling Generated Code
  • Codegen as Build Inputs
  • Schema Evolution
  • Cross-Platform Hermeticity
  • Platform-Specific Toolchains
  • Cross-Compilation