Skip to content

Gate framework

cdowin edited this page Oct 4, 2026 · 1 revision

Gate framework

A game's Makefile includes the gate framework. Makefile.gates -includes Makefile.tiers and reads the tier lists it declares (GDK_PRECOMMIT_TIERS, GDK_VERIFY_TIERS):

GDK_CHECKS := godot-check          # make targets that join `check`; add uid-scan, hermetic-scan...
include Makefile.gates
  • make check runs shell (shellcheck over every tracked *.sh) and then each target in GDK_CHECKS. Every gate runs, the last line is the verdict, and the exit is the worst exit.
  • make precommit is check plus GDK_PRECOMMIT_TIERS.
  • make verify is check plus GDK_VERIFY_TIERS, less GDK_VERIFY_SKIP. CI runs it.
  • make milestone is a deprecated alias of verify, kept for 3.x (removed in 4.0), as are GDK_MILESTONE_TIERS and GDK_MILESTONE_SKIP.

Makefile.gates reads no TOML. A builder runs make spot SYS=<slice>: gdlint and a compile of only the .gd files changed against BASE (default main), then that unit slice. Every machine and CI runs the same gate code because uv.lock pins the bits. install-gates --diff prints what a re-install would change and writes nothing.

See also: Runners and install-runners, Installing and pinning.

Clone this wiki locally