mirror of
https://github.com/hanzoai/lsp.git
synced 2026-09-30 22:52:48 +00:00
Two files, and neither is new policy — this is the fleet's one pipeline, imported the way ~20 other repos import it. hanzo.yml says what to gate and what to publish; .hanzo/workflows/cicd.yml is the ~10-line caller. The one thing worth reading twice is the go-test gate. It installs gopls before running the suite, at the version READ OUT OF THE DOCKERFILE, because internal/lsp/gopls_test.go skips itself when gopls is not on PATH — and that test is the acceptance test: it stands up a directory laid out as a Go module proxy, points the fetch phase at it with GOPROXY=file:// so the real `go mod download` runs with no network, and requires `locate definition` on a dependency symbol to come back external at the module coordinate. Without the install this repo would have shipped a green CI that never once ran the thing it exists to do. Reading the version from the Dockerfile rather than repeating it keeps ONE pin. Two copies are right twice and then wrong once, and the wrong once is CI certifying a language server the image does not run. No `deploy:` block. Which build runs is a reviewed hanzoai/universe change — tag plus digest — synced by cd.hanzo.ai. This daemon runs third-party language servers over tenant source behind a jail; "which binary is behind that jail" is the last thing that should move as a CI side effect. Co-authored-by: Hanzo Dev <[email protected]>